U_data加密机开发文档

上传人:ZJ****4 文档编号:46470558 上传时间:2018-06-26 格式:PDF 页数:11 大小:206.64KB
返回 下载 相关 举报
U_data加密机开发文档_第1页
第1页 / 共11页
U_data加密机开发文档_第2页
第2页 / 共11页
U_data加密机开发文档_第3页
第3页 / 共11页
U_data加密机开发文档_第4页
第4页 / 共11页
U_data加密机开发文档_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《U_data加密机开发文档》由会员分享,可在线阅读,更多相关《U_data加密机开发文档(11页珍藏版)》请在金锄头文库上搜索。

1、U_dataU_data 加密机开发文档加密机开发文档一、设备开发背景二、设备原理三、U_data 加密机相关参数四、U_data 加密机密码说明五、U_data 相关 API 汇总六、错误列表一、一、设备开发背景设备开发背景在信息时代,信息安全问题越来越重要。我们经常需要一种措施来保护我们的数 据,防止被一些别有用心的人所窃取或破坏。因此,在客观上就需要一种强有力的安 全措施来保护机密数据的安全。解决这个问题的方式很多,基本原理就是加密,但加 密分为真正的数据逐字加密和伪加密。传统加密软件,通常将密码与加解密算法写在 程序中。这样的加密强度可想而知,很容易被跟踪、破解。而 U_data 加密

2、机将密码 与算法完全在硬件内实现,大大提高了文件的安全强度和加解密过程的可靠性,做到 加密数据安全绝对不可破解。U_data 是专门为数据流加解密设计的外围处理设备,密码永不出 key,加密算 法集成于芯片内部,加解密过程在硬件中完成,对 PC 端来说数据的加解密过程完全 透明,实现了绝对的安全。硬件稳定、可靠,采用国密认证芯片,集成高速智能内核, 绝非 PC 软件层面的算法实现。“真加密”与“伪加密”-对于数据加密来说,安全级别自然是用户关注的基 本所在。一款真正的加密产品,如果安全级别不够高,甚至“伪加密”,致使我们的数 据在不知不觉中泄露,这对任何一个用户来说都会引起非常严重的后果。在判

3、定安全 级别时,最主要的就是 “数据加密方法”的分析:就是通过“是否对数据进行加密编码”,可以将加密产品分为:两类:“真加密”、“伪加密”产品。1、“真加密”,是对原 始数据的每一位进行加密变换,输出编码密文进行存储。只有输入正确的密码,才可 以进行解密,获得原始数据!2、“伪加密”,没有对数据进行编码变换,完全是明文 存储,但是借助一些技巧,对数据进行隐藏或简单地对密码进行比对确认,这样的加 密,在找到文件一般就可以获得真实数据。通过以上分析,显而易见,理想的加密产 品一定是要真加密。U_Data 是一个专门对进出数据流加解密的加密机,数据在通过 这个“加密通道”的过程中,加密/解密过程通过

4、芯片集成的高强度加密算法自动完 成,算法密钥永不出硬件设备,保证密文的绝对安全。二、二、设备原理设备原理1 1、 加密过程:加密过程: 加密时调用加密接口,每一次写 16KB 数据采用 U_data 去加密,然后读 16KB 数据形成 密文2 2、 解密过程:解密过程: 解密时,写入 16KB 密文,经 U_data 解密,读出明文。不足 16KB 数据,在加密时补足明文明文PCPCPCPC密文密文U_datU_datU_datU_data a a a加密机加密机 (算法、密钥)16KB,解密时去掉无用数据。 (写入同时把文件的大小写在加密文件里面。在解密时, 获取加密文件中文件的大小,即可以

5、知道最后包的大小。 )3 3、 U_dataU_data 为什么安全?为什么安全?(1)高性能专用加密芯片,加解密算法在硬件中运行,加解密算法、密钥永 不出硬件,实现了数据加解密方案的绝对安全,加解密过程完全在硬件内完 成,上位机不存在加密算法,不存在密钥。其安全实现与常用的“加解密软 件”或硬件“伪加密” (只存密钥到硬件而在上位机实现加密算法,这样密钥 必出硬件,这样不可避免地存在先天漏洞)有着本质区别或者说是完全不同 的产品。 (2)U_data 加解密依靠硬件实现,其间完全杜绝了病毒、木马等非正常程序 的破坏、干扰,加密过程安全、稳定、可靠,有效避免数据处理过程中的损 坏、盗劫、畸变等

6、情况发生。 (3)与一般的带硬件的加密产品或软件加解密保护程序(如 XXX 保险箱、XXX 保 护盾等等)有何区别? 此类产品中基本是把密钥存放在硬件中,加解密时将密钥调入 PC 机实现 加解密运算, 表面上看似必须要硬件支持, 实际则是硬件在整个保护过程中作 用非常有限,几乎是不参与核心运算,而对密码的保护更是形同虚设,只起到 了一个密码存储作用, 不管密码是否是加密存放, 在每次加解密过程中它一定 会以明文的形式被暴露到设备之外,存在极大隐患。 类似各类软件形式的加解密保护产品, 可以作为免费共享使用, 加密的安 全性是无法经过推敲的,加密算法、数据密钥存在于同一介质之上,那么在理 论上就

7、无法避免其漏洞的存在。 (4)数据密码很重要,所以,使用者设置完数据密码后建议将其备份并保存 到安全地方,以备 U_data 丢失后的紧急处理。密文密文PCPCPCPC明文明文U_datU_datU_datU_data a a a加密机加密机 (算法、密钥)三、三、U_dataU_data 加密机相关参数加密机相关参数本设备适用于 WindowsMe 以上系统,免驱动即插即用,使用高速 USB2.0 保证数据处 理速度。硬件加密算法:硬件加密算法:SM1、SSF33 算法 SM1 密钥长度为 32 字节,加密解密,每一次 16K 字节 国密 SM1 算法是由国家密码管理局编制的一种商用密码分组

8、标准对称算法。 该算法是国家密码管理部门审批的 SM1 分组密码算法 , 分组长度和密钥长度都为 128 比特, 算法安全保密强度及相关软硬件实现性能与 AES 相当, 该算法不公开, 仅以 IP 核的形式存在于芯片中 SSF33 算法:密钥长度为 16 字节,加密解密,每一次 16K 字节。硬件加密算法速度:硬件加密算法速度: SM1 算法加解密130 Mbps = 16.25MB/s SSF33 算法加解密170 Mbps = 21.25MB/s实测加密解密速度:实测加密解密速度: 4MB/s5MB/s四、四、U_dataU_data 加密机密码说明加密机密码说明1 1、 管理密码管理密码

9、:管理 U_data 加密机。例如:设置用户密码、密钥密码等。 (出厂初始管 理密码为:1234567812345678) 2 2、 用户密码用户密码: 用户使用 U_data 加密机是必须提供的认证密码。(出厂初始用户密码为: 1234567812345678) 3 3、 数据密码:数据密码:U_data 加密机内有 10 组原始数据密码,用户可任意选择其中 2 组(这 样,客户可以通过排列组合得到足够多的数据密钥使用) ,被选中的两组将组合为 真正数据处理密钥,它将用来在硬件中对数据流处理时的算法密钥。 (出厂初始数 据密码为:1234567812345678) 注注: 本加密工具使用 1

10、0 组数据密码中的 0 和 1 两组作为有效密钥, 其他组数据 密钥为系统保留,供二次开发者使用。 4 4、 管理工具:管理工具:输入 U_data 加密机序列号(插入 U_data 到 PC 机,点击对话框右端下来按钮会看 到改 U_data 的序列号) 和对应的管理密码可以对 10 组数据密码和管理密码、 用户密码 进行重新设置、修改。五、五、U_dataU_data 相关相关 APIAPI 汇总汇总DWORD FindDevice(unsigned long sn = 0); *功能说明: *此函数为 U_data 加密机初始化函数(查找相应 SN 的硬件加密设备) ,调用任何其 *他函

11、数前请务必先调用此函数进行初始化工作。 * *参数说明: *sn:加密机的序列号,标示一个特定的加密机;如果为 0,则表示连接到本机的第 *一个类似加密机的设备。 * *返回值: *该函数返回值如果为 0 则函数执行成功,如果不为为 0,则参考错误号列表。 *DWORD getSN(map *功能说明: *获取设备 SN 号。 * *返回值: *该函数返回值如果为 0 则函数执行成功。*DMADLL_API DWORD _DMA_APIgetSn(unsigned long *sn,int *c,int maxIndex ); *功能说明: *获取设备 SN 号。 *参数说明: *snmaxI

12、ndex保存 sn 的数组,c 获得查找到的锁的数量,maxIndex,数组的最大下 *标。 *返回值: *该函数返回值如果为 0 则函数执行成功。 *DWORD encFile(TCHAR* src, TCHAR* dst); *功能说明: *该函数实现对文件的加密, 只需提供加密源文件 (未加密文件) 路径与目的文件 (加 *密后文件)的存储路径。 * *参数说明: *src:加密源文件(未加密文件)路径。 *dst:目的文件(加密后文件)路径。 * *返回值: *该函数返回值如果为 0 则函数执行成功。 *DWORD decFile (TCHAR* src, TCHAR* dst); *

13、功能说明: *该函数实现对文件的解密, 只需提供解密源文件 (加密后文件) 路径与目的文件 (解 *密后文件)的存储路径。 * *参数说明: *src:解密源文件(加密后文件)路径。 *dst:目的文件(解密后文件)路径。 * *返回值: *该函数返回值如果为 0 则函数执行成功。 *DWORD enc(BYTE* src, BYTE* dst); *功能说明: *该函数实现对小于 16k 文件的加密,大文件可以以 16k 为单位拆分加密。* *参数说明: *src:16k 加密源文件(未加密文件) *dst:16k 目的文件(加密后文件) * *返回值: *该函数返回值如果为 0 则函数执行

14、成功。 *DWORD dec(BYTE* src, BYTE* dst); *功能说明: *该函数实现对小于 16k 文件的解密,大文件可以以 16k 为单位拆分解密。 *参数说明: *src:16k 解密源文件(加密后文件) *dst:16k 目的文件(解密后文件) * *返回值: *该函数返回值如果为 0 则函数执行成功。 *DWORD setPsd (int set); *功能说明: *设置密码、加密算法的密码。 *参数说明: *set:前两位有意义。 (有十个 8 字节密的密码,通过 SET,去选择 2 个字节做为加 *密算法的密码,如 set 为 21 表示,取加密算法密码的低 8

15、字节的密码取第二个地 *址的密码做为密码,加密算法密码高八字节也为第三地址密码)*返回值: *该函数返回值如果为 0 则函数执行成功。 *DWORD getfileProgress(); *功能说明: *获取文件加密、解密的进度 * *返回值 *该函数返回值如果为 0 则函数执行成功。 *DWORD isEncrypted(TCHAR* src);*功能说明: *判断一个文件是不是加密的,如果是,则返回 0。 * *返回值 *该函数返回值如果为 0 则函数执行成功。 *DWORD WriteOtherData(PBYTE pWriteBuff,UINT32 nBuffSize,UINT32 *pnRetSize); *参数说明 *pWriteBuff:写入的数据(512 字节数据)。 *nBuffSize:写入数据长度(512 字节数据)。 *pnRetSize :如果返回 512,表明正确写入 512 字节数据。 * *返回值: *该函数返回值如果为 0 则函数执行成功。DWORD ReadOtherData (PBYTE pReadBuff ,UINT32 nBuffSize,UINT32 *pnRetSize); *参数说明 *pReadBuff:读取的数据(512 字节数据)。 *nBuffSize:读取数据长度(512 字节数据)。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号