『壹』 国内的加密通信APP都有哪些

一个是程序本身做混淆,防止被反编译。数字签名,防止被篡改。 一个是和服务器通信加密,防止数据被窃听。还有就是服务器需要做验证,防止客户端把数据提交到仿造的服务器上。

『贰』 加密通话app那款比较好用一点

优秀的加密社交通讯APP应该具备加密电话、信息加密、优秀的通话体验、阅 即焚信息、聊天信息随机加密、保护隐私等6大功能或服务。目前也就阔密了

『叁』 请问可以进行加密聊天的即时通讯软件有哪些

我知道有一个软件,就是你说的这种信息加密,名字叫 哇呼 ,可以定制的。不管个人还是企业都很实用

『肆』 硬加密的硬加密与软加密的区别

目前市场上大多数移动存储产品都采用软加密方式对相关产品进行数据安全保护。但随着用户需求的不断提高和技术的不断成熟,硬加密技术渐渐被应用到移动硬盘产品中。
虽然同样都是加密方式,但顾名思义,二者的区别就在于“软”与“硬”上。所谓“软加密”主要是指通过特定的软件算法进行加密,而硬加密作为物理加密技术,其主要是通过芯片对硬盘中的每一个字符、每一个数据进行加密,这有些像早期的微电码。
其实,这两种截然不同的加密方式最根本的区别最终体现在驱动和速度上。上面提到过,软加密一般通过加密软件的方法来实现加密功能,它并不对数据进行转换运算。与软加密不同,硬加密可将需要保护的数据转换成不可识别的数据模块。其在2000/XP的加密下,除了安装其本身驱动程序外,不需要安装其它任何驱动软件,这是硬加密区别于软加密的明显特征,也是硬加密的优势所在。另外,从速度方面进行比较,软件加密方式势必需要大量运算过程,这无疑会耽误内存资源,速度也就随之降低了。而硬加密是典型的物理加密过程,它省去了大量繁杂的运算过程,因此速度依然。
从产品适宜人群来看,采用硬加密技术的移动硬盘产品比较适用于科研院所、部队、机关、财务、各行业设计人员、个人及网络用户进行数据交换、移动办公、保密数据存储、备份等。此外,由于特殊的芯片处理工艺,使得硬加密移动硬盘产品的市价要高于软加密,虽然使用此类产品的个人用户不乏其人,但像“黑金刚”移动硬盘此类产品则仍然主要应用于行业用户中。
从目前的趋势来看,未来移动存储产品的加密方式将主要应用芯片加密,也就是向硬加密方式纵深发展。这不仅仅因为硬加密技术更安全、更可靠,还在于它为大家带来更简单的操作方式、方法。有分析人士认为,现代科技产品逐渐走向智能化与简单易用性,从科技产品较为复杂的操作程序到现在类似“一键通”等功能的出现给人们的生活带去了更多的便捷,它无疑会推动科技产品的普及和应用。在移动存储领域,硬加密技术的出现和发展必将引领其进入一个崭新的时代。

『伍』 如何让电脑与服务器间通信加密

PC 和服务器之间通信加密
可以通过安装加密软件在 PC端和服务器端这样 PC 和服务器之间的传输会是明文显示,
其他的人得到的资料将会是乱码 。
或者采用认证模式 只有服务器端认证的用户才能等入,或者开启SSH 也是个不错的选择

『陆』 如何用java语言对即时通讯软件进行加密

一、Java软件加密基本思路
对于应用软件的保护笔者从两个方面进行考虑,第一是阻止盗版使用软件,第二是阻止竞争对手对软件反编译,即阻止对软件的逆向工程。
1、阻止盗版
在软件运行时对自身存在的合法性进行判断,如果认为自身的存在和运行是被授权的、合法的,就运行;否则终止运行。这样即使软件可以被随意复制,只要盗版用户没有相应的授权信息就无法使用软件。
2、阻止反编译
对编译产生的Class文件加密处理,并在运行时进行解密,解密者无法对软件进行反编译。
二、Java软件加密的总体流程
为了保护用Java语言开发的软件,我们设计并实现了一个实用、高强度的加密算法。以下称需要保护的Java软件为“受保护程序”,称对“受保护程序”进行加密保护的软件为“加密程序”。对软件加密保护的流程如图1所示。

三、加密算法分析设计
1、用户信息提取器设计
为了防止用户发布序列号而导致“一次发行,到处都是”的盗版问题,提取用户机器中硬件相关的、具有唯一性的信息——用户计算机的硬盘分区C的序列号,并要求用户将此信息与用户名一起返回,之后用“序列号生成器”根据用户返回信息生成一个唯一合法的软件注册序列号发回用户,用户即可使用此号码注册使用软件。
这个信息提取器使用Winclows 32汇编以一个独立的小程序方式实现,程序代码如图2所示。

2、序列号生成器与序列号合法性判断函数的设计
序列号生成器与序列号合法性判断函数中运用RSA加密算法。在序列号生成器中是使用私钥将用户返回的信息(硬盘序列号,用户名)进行加密得到相应的注册序列号;在序列号合法性判断函数中使用私钥将用户输入的注册序列号解密,再与(硬盘序列号,用户名)进行比较,一致则调用程序装载器将程序其他部分解密装入内存,初始化删环境并运行程序主体;否则退出。
RSA加密算法的实现需要使用大数运算库,我们使用MIRACL大数库来实现RSA计算,序列号生成器的主要代码如下:
char szlnputString[]=”机器码和用户名组成的字符串”;
char szSerial[256]=[0];//用于存放生成的注册码
bign,d,c,m; //MIRACL中的大数类型
mip→IBASE=16; //以16进制模式
n= mlrvar(0); //初始化大数
d= mirvar(0);
c= mirvar(0); //C存放输入的字符串大数
m= mlrva(o);
bytes to big( len, szlnputString,c);
//将输入字符串转换成大数形式并存入变量c中
cinstr(n,”以字符串形成表示的模数”);//初始化模数
cinstr(d,”以字符串形成表示的公钥”)://初始化公钥
powmod(c,d,n,m); //计算m=cdmod n
cotstr(m,szSerial);//m的16进制字符串即为注册码
序列号合法性检测函数的主要代码如下:
char szlnputStringL]=”机器码和用户名组成的字符串”;
char szSerial[ 256]=”用户输入的序列号”
bign,e,c,m; //MIRACL中的大数类型
mip→IBASE=16; //以16进制模式
cinstr(m,szSerial); //将序列号的16进制转成大数形式
cinstr(n,”模数n的字符串形式”);//初始化模数n
cinstr(e,”字符串形式的公钥”);//初始化公钥
if compare(m,n)==-1) //m<n时才进行解密
{
powmod(m,e,n,c);//计算m=me mod n
big_to _bytes(0,c,szSerial,0); //转为字符串
return lstrcmp( szlnputString,szSerial);
}
3、强耦合关系的设计
如果在序列号合法性检测函数中简单地使用图3所示流程:

解密者可以使用以下几种手段进行攻击:
(1)修改“判断合法性子函数”的返回指令,让它永远返回正确值,这样可以使用任意的序列号,安装/使用软件。
(2)修改判断后的跳转指令,使程序永远跳到正确的分支运行,效果和上一种一样。
(3)在“判断合法性子函数”之前执行一条跳转指令,绕过判断,直接跳转到“正常执行”分支运行,这样可以不用输入序列号安装/使用软件。
为阻止以上攻击手段,笔者在程序中增加了“序列号合法性检测函数”与程序其他部分“强耦合”(即增强其与程序其他部分的关联度,成为程序整体密不可分的一部分,一旦被修改程序将无法正常工作)的要求(见图1),并且设置一个“完整性检测函数”用于判断相关的代码是否被修改过。当然,基于同样的原因,“完整性检测函数”也必须与程序其他部分存在“强耦合”关系。
强耦合关系通过以下方式建立:
在程序其他部分的函数(例如函数A)中随机的访问需要强耦合的“序列号合法性检测函数”和“完整性检测函数”,在调用时随机的选择使用一个错误的序列号或是用户输入的序列号,并根据返回结果选择执行A中正常的功能代码还是错误退出的功能代码,流程如图4所示。

经过这种改进,如果破解者通过修改代码的方式破解将因“完整性检测”失败导致程序退出;如果使用SMC等技术绕过“序列号合法性判断函数”而直接跳至序列号正确时的执行入口,在后续的运行中,将因为随机的耦合调用失败导致程序退出。破解者要破解软件将不得不跟踪所有进行了耦合调用的函数,这显然是一个艰巨的任务。
4、完整性检测函数的设计
我们使用CRC算法算出需进行完整性检测的文件的校验码,并用RSA加密算法的公钥(不同于序列号合法性检测中的公钥/私钥对)将其加密存放在特定的文件中,在检测时先用CRC算法重新生成需进行完
整性检测的文件的校验码,并用私钥将保存的校验码解密,两者相比较,相等则正常运行;否则退出。
5、程序加载器的设计
与编译成机器码执行的程序不同,Java程序只能由Java虚拟机解释执行,因此程序加载器的工作包括:初始化Java虚拟机;在内存中解密当前要运行的class文件;使解密后的c:lass文件在虚拟机中运行,在
需要时解密另一个class文件。图5是用于初始化JVM的代码:

以上介绍了我们设计的针对Java软件的加密保护方法,其中综合运用了多种加密技术,抗破解强度高;使用纯软件保护技术,成本低。经笔者在Windows系列平台上进行测试,运行稳定,效果良好。
在研宄开发过程中,我们还总结出加密保护软件的一些经验:
1、对关键代码和数据要静态加密,再动态解密执行;要结合具体的工作平台使用反跟踪/调试技术;
2、要充分利用系统的功能,如在Windows下使用DLL文件或驱动程序形式能得到最大的丰又限,可以充分利用系统具有的各种功能;
3、如果可能应该将关键代码存放在不可禚复制的地方;
4、序列号要与机器码等用户信息相关以阻止盐复布序列号;
5、加密流程的合理性比加密算法本身的强度更重要。