阅读:2977回复:28
在PASSTHRU中加解密的方法讨论
现在我在passthru中加入了idea算法,对固定端口的数据进行加解密,
现在我担心以下几个问题: 1. 系统允许passthur调用的内核堆栈16k,在驱动内加入算法, 是否影响系统的性能, 2. passthru中接到数据,处理后是否直接送到协议层? 同时是否释放掉所占用的内存? 希望有经验的高人指点. 谢谢!!!!!!!!!!!!!! |
|
最新喜欢:baoyib...
|
沙发#
发布于:2002-11-18 17:47
这个是怎么知道的??? |
|
|
板凳#
发布于:2002-11-18 17:53
引用: 《windowsNT 设备驱动程序设计指南》的5.3驱动程序内存分配里面已经说过PowerPC系统上,内核堆栈大小为16K, 所以我们自己驱动可用的空间是非常小的。 |
|
|
地板#
发布于:2002-12-04 15:26
在NDIS里面谁分配的内存要由谁来释放,这是一个基本的原则
在驱动里面加入加密算法一般应该不会有太明显的影响,我用的3des, 何时交到协议层,取决于你的处理方式,可以处理完了就交,也可以过一段时间在交 |
|
|
地下室#
发布于:2002-12-04 16:21
《windowsNT 设备驱动程序设计指南》的5.3驱动程序内存分配里面已经说过PowerPC系统上,内核堆栈大小为16K, 不是吧!那我想在驱动里使用一个 40K 的数据结构该怎么做? |
|
5楼#
发布于:2002-12-04 16:33
干吗要用这么大的数组?
windows下应该没有问题的, |
|
|
6楼#
发布于:2002-12-04 17:32
干吗要用这么大的数组? 呵呵,要实现一个 Hash,所以要多占点内存:) windows下应该没有问题的 我把这 40K 内存都弄成“非 Page”可行吗?是不是所有的全局变量都是“非 Page”内存? |
|
7楼#
发布于:2002-12-04 17:35
不是吧!那我想在驱动里使用一个 40K 的数据结构该怎么做 驱动是用来处理数据的,不是存放数据的, 并且在内存中开如此大的空间是比较危险的, 最好的办法就是在没有送到驱动层之前就,就对数据进行分段, 否则,吃不了兜着走吧 |
|
|
8楼#
发布于:2002-12-04 17:41
没有这么严重吧,我一个哥们开了60k的数组好像也没有什么问题,
|
|
|
9楼#
发布于:2002-12-04 17:55
没有这么严重吧,我一个哥们开了60k的数组好像也没有什么问题, 系统在启动的过程中,将内存分成几个区域,分别运行在不同的级别, 核心态的就是我说的16K,也就是系统最基本最核心的,也就是内核堆栈, 其他的内存分配不在这一个层次,所以可以分配的很大, 所以现在我有一个问题和大家讨论,就是我另外一个帖子里提到的问题: ndis函数中的局部变量的内存分配方式和动态内存分配的内存分配方式有什么不同? 也就是下面两种方式有什么不同? 1. UCHAR t[32]; 2. UCHAR *t; NDIS_PHYSICAL_ADDRESS npa = NDIS_PHYSICAL_ADDRESS_CONST(-1,-1); NdisAllocateMemory(t, 32, 0, npa); 同时NDIS_PHYSICAL_ADDRESS这个结构起到什么作用? |
|
|
10楼#
发布于:2002-12-04 18:01
还应该有第三种分配方式:
就是PASSTHRU中的先分配内存池,然后再从内存池中分配内存, 这几种方法真的很值得我们仔细的讨论分析, 现在是在PC机做NDIS,在Windows CE下可供利用内存会更小。 真希望有明白人的指点? 可惜我原先的那个帖子就是没有人理我, morose!!!!!!!!!!!!!!!!!!!!!!!!! |
|
|
11楼#
发布于:2002-12-04 18:04
fuq_dddd,我对你提出的这些问题也很感兴趣,不过我水平有限,只好关注了:)
|
|
12楼#
发布于:2002-12-04 18:30
我现在在PASSTHRU中胡乱用分配内存的函数,总是感觉心理虚虚的,
没有办法只好先应眼前的紧急需要。 |
|
|
13楼#
发布于:2002-12-04 23:29
我想问问
加密算法你们是直接在驱动里写还是怎么的》? 或者是写成一个DLL 用驱动来调用? 如何调用? |
|
14楼#
发布于:2002-12-05 01:35
我想问问 非常关注 |
|
|
15楼#
发布于:2002-12-05 09:04
应该另外写一个驱动程序来做加密解密这些事情,方便调试和升级
|
|
|
16楼#
发布于:2002-12-05 09:10
这样如果想移植的话也方便很多,
|
|
|
17楼#
发布于:2002-12-05 10:06
应该另外写一个驱动程序来做加密解密这些事情,方便调试和升级 mikeluo, 另写一个驱动,你写成什么类型的? 驱动之间调用你是采用的什么方法? 我只是简单的把算法代码直接放进了驱动里面 |
|
|
18楼#
发布于:2002-12-05 10:14
如果你的加密算法程序很少,完成的功能也不复杂,那就放到一起也没有什么,如果要做很复杂的事情,还是另做一个驱动的好一点(我的看法),做成一个sys,通过ioctl来完成通信工作
|
|
|
19楼#
发布于:2002-12-05 10:35
做成一个sys,通过ioctl来完成通信工作 什么地方能找到相关的代码?我跟着学习一下 |
|
|
上一页
下一页