im钱包最新版下载官网|加密技术

作者: im钱包最新版下载官网
2024-03-08 01:10:01

加密技术_百度百科

_百度百科 网页新闻贴吧知道网盘图片视频地图文库资讯采购百科百度首页登录注册进入词条全站搜索帮助首页秒懂百科特色百科知识专题加入百科百科团队权威合作下载百科APP个人中心加密技术播报讨论上传视频电子商务采取的主要安全保密措施收藏查看我的收藏0有用+10本词条由“科普中国”科学百科词条编写与应用工作项目 审核 。加密技术是电子商务采取的主要安全保密措施,是最常用的安全保密手段,利用技术手段把重要的数据变为乱码(加密)传送,到达目的地后再用相同或不同的手段还原(解密)。加密技术的应用是多方面的,但最为广泛的还是在电子商务和VPN上的应用,深受广大用户的喜爱。中文名加密技术外文名encryption technique [4]两个元素算法和密钥技    术对称密码编码技术目录1两个元素2分类▪对称加密▪非对称3功能作用4四种类型5加密应用两个元素播报编辑加密技术包括两个元素:算法和密钥。算法是将普通的文本(或者可以理解的信息)与一串数字(密钥)的结合,产生不可理解的密文的步骤,密钥是用来对数据进行编码和解码的一种算法。在安全保密中,可通过适当的密钥加密技术和管理机制来保证网络的信息通讯安全。密钥加密技术的密码体制分为对称密钥体制和非对称密钥体制两种。相应地,对数据加密的技术分为两类,即对称加密(私人密钥加密)和非对称加密(公开密钥加密)。对称加密以数据加密标准(DES,Data Encryption Standard)算法为典型代表,非对称加密通常以RSA(Rivest Shamir Adleman)算法为代表。对称加密的加密密钥和解密密钥相同,而非对称加密的加密密钥和解密密钥不同,加密密钥可以公开而解密密钥需要保密。分类播报编辑对称加密对称加密采用了对称密码编码技术,它的特点是文件加密和解密使用相同的密钥,即加密密钥也可以用作解密密钥,这种方法在密码学中叫做对称加密算法,对称加密算法使用起来简单快捷,密钥较短,且破译困难,除了数据加密标准(DES),另一个对称密钥加密系统是国际数据加密算法(IDEA),它比DES的加密性好,而且对计算机功能要求也没有那么高。IDEA加密标准由PGP(Pretty Good Privacy)系统使用。 [1]非对称1976年,美国学者Dime和Henman为解决信息公开传送和密钥管理问题,提出一种新的密钥交换协议,允许在不安全的媒体上的通讯双方交换信息,安全地达成一致的密钥,这就是“公开密钥系统”。相对于“对称加密算法”这种方法也叫做“非对称加密算法”。与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥 (privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。 [1]功能作用播报编辑PKI(Public Key Infrastructure 的缩写)是一种遵循既定标准的密钥管理平台,它能够为所有网络应用提供加密和数字签名等密码服务及所必需的密钥和证书管理体系。 [2]原有的单密钥加密技术采用特定加密密钥加密数据,而解密时用于解密的密钥与加密密钥相同,这称之为对称型加密算法。采用此加密技术的理论基础的加密方法如果用于网络传输数据加密,则不可避免地出现安全漏洞。因为在发送加密数据的同时,也需要将密钥通过网络传输通知接收者,第三方在截获加密数据的同时,只需再截取相应密钥即可将数据解密使用或进行非法篡改。区别于原有的单密钥加密技术,PKI采用非对称的加密算法,即由原文加密成密文的密钥不同于由密文解密为原文的密钥,以避免第三方获取密钥后将密文解密。四种类型播报编辑1、无客户端SSL:SSL的原始应用。在这种应用中,一台主机计算机在加密的链路上直接连接到一个来源(如Web服务器、邮件服务器、目录等)。2、配置VPN设备的无客户端SSL:这种使用SSL的方法对于主机来说与第一种类似。但是,加密通讯的工作是由VPN设备完成的,而不是由在线资源完成的(如Web或者邮件服务器)。3、主机至网络:在上述两个方案中,主机在一个加密的频道直接连接到一个资源。在这种方式中,主机运行客户端软件(SSL或者IPsec客户端软件)连接到一台VPN设备并且成为包含这个主机目标资源的那个网络的一部分。SSL:由于设置简单,SSL已经成为这种类型的VPN的事实上的选择。客户端软件通常是很小的基于Java的程序。用户甚至可能都注意不到。IPsec:在SSL成为创建主机至网络的流行方式之前,要使用IPsec客户端软件。IPsec仍在使用,但是,它向用户提供了许多设置选择,容易造成混淆。4、网络至网络:有许多方法能够创建这种类型加密的隧道VPN.但是,要使用的技术几乎总是IPsec.加密应用播报编辑加密技术的应用是多方面的,但最为广泛的还是在电子商务和VPN上的应用,下面就分别简叙。在电子商务方面的应用电子商务(E-business)要求顾客可以在网上进行各种商务活动,不必担心自己的信用卡会被人盗用。在过去,用户为了防止信用卡的号码被窃取到,一般是通过电话订货,然后使用用户的信用卡进行付款。人们开始用RSA(一种公开/私有密钥)的加密技术,提高信用卡交易的安全性,从而使电子商务走向实用成为可能。 [3]许多人都知道NETSCAPE公司是Internet商业中领先技术的提供者,该公司提供了一种基于RSA和保密密钥的应用于因特网的技术,被称为安全插座层(Secure Sockets Layer,SSL)。也许很多人知道Socket,它是一个编程界面,并不提供任何安全措施,而SSL不但提供编程界面,而且向上提供一种安全的服务,SSL3.0已经应用到了服务器和浏览器上,SSL2.0则只能应用于服务器端。SSL3.0用一种电子证书(electric certificate)来实行身份进行验证后,双方就可以用保密密钥进行安全的会话了。它同时使用“对称”和“非对称”加密方法,在客户与电子商务的服务器进行沟通的过程中,客户会产生一个Session Key,然后客户用服务器端的公钥将Session Key进行加密,再传给服务器端,在双方都知道Session Key后,传输的数据都是以Session Key进行加密与解密的,但服务器端发给用户的公钥必需先向有关发证机关申请,以得到公证。基于SSL3.0提供的安全保障,用户就可以自由订购商品并且给出信用卡号了,也可以在网上和合作伙伴交流商业信息并且让供应商把订单和收货单从网上发过来,这样可以节省大量的纸张,为公司节省大量的电话、传真费用。在过去,电子信息交换(Electric Data Interchange,EDI)、信息交易(information transaction)和金融交易(financial transaction)都是在专用网络上完成的,使用专用网的费用大大高于互联网。正是这样巨大的诱惑,才使人们开始发展因特网上的电子商务,但不要忘记数据加密。在VPN中的应用越多越多的公司走向国际化,一个公司可能在多个国家都有办事机构或销售中心,每一个机构都有自己的局域网LAN(Local Area Network),但在当今的网络社会人们的要求不仅如此,用户希望将这些LAN连结在一起组成一个公司的广域网,这个在已不是什么难事了。事实上,很多公司都已经这样做了,但他们一般使用租用专用线路来连结这些局域网 ,他们考虑的就是网络的安全问题。具有加密/解密功能的路由器已到处都是,这就使人们通过互联网连接这些局域网成为可能,这就是我们通常所说的虚拟专用网(Virtual Private Network ,VPN)。当数据离开发送者所在的局域网时,该数据首先被用户湍连接到互联网上的路由器进行硬件加密,数据在互联网上是以加密的形式传送的,当达到目的LAN的路由器时,该路由器就会对数据进行解密,这样目的LAN中的用户就可以看到真正的信息了。新手上路成长任务编辑入门编辑规则本人编辑我有疑问内容质疑在线客服官方贴吧意见反馈投诉建议举报不良信息未通过词条申诉投诉侵权信息封禁查询与解封©2024 Baidu 使用百度前必读 | 百科协议 | 隐私政策 | 百度百科合作平台 | 京ICP证030173号 京公网安备110000020000

浅谈常见的七种加密算法及实现 - 知乎

浅谈常见的七种加密算法及实现 - 知乎首发于360linker切换模式写文章登录/注册浅谈常见的七种加密算法及实现360linker前言数字签名、信息加密 是前后端开发都经常需要使用到的技术,应用场景包括了用户登入、交易、信息通讯、oauth 等等,不同的应用场景也会需要使用到不同的签名加密算法,或者需要搭配不一样的 签名加密算法 来达到业务目标。这里简单的给大家介绍几种常见的签名加密算法和一些典型场景下的应用。正文1. 数字签名数字签名,简单来说就是通过提供 可鉴别 的 数字信息 验证 自身身份 的一种方式。一套 数字签名 通常定义两种 互补 的运算,一个用于 签名,另一个用于 验证。分别由 发送者 持有能够 代表自己身份 的 私钥 (私钥不可泄露),由 接受者 持有与私钥对应的 公钥 ,能够在 接受 到来自发送者信息时用于 验证 其身份。注意:图中 加密过程 有别于 公钥加密,更多 介绍戳这里。签名 最根本的用途是要能够唯一 证明发送方的身份,防止 中间人攻击、CSRF 跨域身份伪造。基于这一点在诸如 设备认证、用户认证、第三方认证 等认证体系中都会使用到 签名算法 (彼此的实现方式可能会有差异)。2. 加密和解密2.1. 加密数据加密 的基本过程,就是对原来为 明文 的文件或数据按 某种算法 进行处理,使其成为 不可读 的一段代码,通常称为 “密文”。通过这样的途径,来达到 保护数据 不被 非法人窃取、阅读的目的。2.2. 解密加密 的 逆过程 为 解密,即将该 编码信息 转化为其 原来数据 的过程。3. 对称加密和非对称加密加密算法分 对称加密 和 非对称加密,其中对称加密算法的加密与解密 密钥相同,非对称加密算法的加密密钥与解密 密钥不同,此外,还有一类 不需要密钥 的 散列算法。常见的 对称加密 算法主要有 DES、3DES、AES 等,常见的 非对称算法 主要有 RSA、DSA 等,散列算法 主要有 SHA-1、MD5 等。3.1. 对称加密对称加密算法 是应用较早的加密算法,又称为 共享密钥加密算法。在 对称加密算法 中,使用的密钥只有一个,发送 和 接收 双方都使用这个密钥对数据进行 加密 和 解密。这就要求加密和解密方事先都必须知道加密的密钥。数据加密过程:在对称加密算法中,数据发送方 将 明文 (原始数据) 和 加密密钥 一起经过特殊 加密处理,生成复杂的 加密密文 进行发送。数据解密过程:数据接收方 收到密文后,若想读取原数据,则需要使用 加密使用的密钥 及相同算法的 逆算法 对加密的密文进行解密,才能使其恢复成 可读明文。3.2. 非对称加密非对称加密算法,又称为 公开密钥加密算法。它需要两个密钥,一个称为 公开密钥 (public key),即 公钥,另一个称为 私有密钥 (private key),即 私钥。因为 加密 和 解密 使用的是两个不同的密钥,所以这种算法称为 非对称加密算法。如果使用 公钥 对数据 进行加密,只有用对应的 私钥 才能 进行解密。如果使用 私钥 对数据 进行加密,只有用对应的 公钥 才能 进行解密。例子:甲方生成 一对密钥 并将其中的一把作为 公钥 向其它人公开,得到该公钥的 乙方 使用该密钥对机密信息 进行加密 后再发送给甲方,甲方再使用自己保存的另一把 专用密钥 (私钥),对 加密 后的信息 进行解密。4. 常见的签名加密算法4.1. MD5算法MD5 用的是 哈希函数,它的典型应用是对一段信息产生 信息摘要,以 防止被篡改。严格来说,MD5 不是一种 加密算法 而是 摘要算法。无论是多长的输入,MD5 都会输出长度为 128bits 的一个串 (通常用 16 进制 表示为 32 个字符)。public static final byte[] computeMD5(byte[] content) {

try {

MessageDigest md5 = MessageDigest.getInstance("MD5");

return md5.digest(content);

} catch (NoSuchAlgorithmException e) {

throw new RuntimeException(e);

}

}4.2. SHA1算法SHA1 是和 MD5 一样流行的 消息摘要算法,然而 SHA1 比 MD5 的 安全性更强。对于长度小于 2 ^ 64 位的消息,SHA1 会产生一个 160 位的 消息摘要。基于 MD5、SHA1 的信息摘要特性以及 不可逆 (一般而言),可以被应用在检查 文件完整性 以及 数字签名 等场景。public static byte[] computeSHA1(byte[] content) {

try {

MessageDigest sha1 = MessageDigest.getInstance("SHA1");

return sha1.digest(content);

} catch (NoSuchAlgorithmException e) {

throw new RuntimeException(e);

}

}4.3. HMAC算法HMAC 是密钥相关的 哈希运算消息认证码(Hash-based Message Authentication Code),HMAC 运算利用 哈希算法 (MD5、SHA1 等),以 一个密钥 和 一个消息 为输入,生成一个 消息摘要 作为 输出。HMAC 发送方 和 接收方 都有的 key 进行计算,而没有这把 key 的第三方,则是 无法计算 出正确的 散列值的,这样就可以 防止数据被篡改。package net.pocrd.util;

import net.pocrd.annotation.NotThreadSafe;

import net.pocrd.define.ConstField;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

import javax.crypto.Mac;

import javax.crypto.SecretKey;

import javax.crypto.spec.SecretKeySpec;

import java.util.Arrays;

@NotThreadSafe

public class HMacHelper {

private static final Logger logger = LoggerFactory.getLogger(HMacHelper.class);

private Mac mac;

/**

* MAC算法可选以下多种算法

* HmacMD5/HmacSHA1/HmacSHA256/HmacSHA384/HmacSHA512

*/

private static final String KEY_MAC = "HmacMD5";

public HMacHelper(String key) {

try {

SecretKey secretKey = new SecretKeySpec(key.getBytes(ConstField.UTF8), KEY_MAC);

mac = Mac.getInstance(secretKey.getAlgorithm());

mac.init(secretKey);

} catch (Exception e) {

logger.error("create hmac helper failed.", e);

}

}

public byte[] sign(byte[] content) {

return mac.doFinal(content);

}

public boolean verify(byte[] signature, byte[] content) {

try {

byte[] result = mac.doFinal(content);

return Arrays.equals(signature, result);

} catch (Exception e) {

logger.error("verify sig failed.", e);

}

return false;

}

}测试结论:HMAC 算法实例在 多线程环境 下是 不安全的。但是需要在 多线程访问 时,进行同步的辅助类,使用 ThreadLocal 为 每个线程缓存 一个实例可以避免进行锁操作。4.4. AES/DES/3DES算法AES、DES、3DES 都是 对称 的 块加密算法,加解密 的过程是 可逆的。常用的有 AES128、AES192、AES256 (默认安装的 JDK 尚不支持 AES256,需要安装对应的 jce 补丁进行升级 jce1.7,jce1.8)。4.4.1. DES算法DES 加密算法是一种 分组密码,以 64 位为 分组对数据 加密,它的 密钥长度 是 56 位,加密解密 用 同一算法。DES 加密算法是对 密钥 进行保密,而 公开算法,包括加密和解密算法。这样,只有掌握了和发送方 相同密钥 的人才能解读由 DES加密算法加密的密文数据。因此,破译 DES 加密算法实际上就是 搜索密钥的编码。对于 56 位长度的 密钥 来说,如果用 穷举法 来进行搜索的话,其运算次数为 2 ^ 56 次。4.4.2. 3DES算法是基于 DES 的 对称算法,对 一块数据 用 三个不同的密钥 进行 三次加密,强度更高。4.4.3. AES算法AES 加密算法是密码学中的 高级加密标准,该加密算法采用 对称分组密码体制,密钥长度的最少支持为 128 位、 192 位、256 位,分组长度 128 位,算法应易于各种硬件和软件实现。这种加密算法是美国联邦政府采用的 区块加密标准。AES 本身就是为了取代 DES 的,AES 具有更好的 安全性、效率 和 灵活性。import net.pocrd.annotation.NotThreadSafe;

import javax.crypto.Cipher;

import javax.crypto.KeyGenerator;

import javax.crypto.spec.IvParameterSpec;

import javax.crypto.spec.SecretKeySpec;

import java.security.SecureRandom;

@NotThreadSafe

public class AesHelper {

private SecretKeySpec keySpec;

private IvParameterSpec iv;

public AesHelper(byte[] aesKey, byte[] iv) {

if (aesKey == null || aesKey.length < 16 || (iv != null && iv.length < 16)) {

throw new RuntimeException("错误的初始密钥");

}

if (iv == null) {

iv = Md5Util.compute(aesKey);

}

keySpec = new SecretKeySpec(aesKey, "AES");

this.iv = new IvParameterSpec(iv);

}

public AesHelper(byte[] aesKey) {

if (aesKey == null || aesKey.length < 16) {

throw new RuntimeException("错误的初始密钥");

}

keySpec = new SecretKeySpec(aesKey, "AES");

this.iv = new IvParameterSpec(Md5Util.compute(aesKey));

}

public byte[] encrypt(byte[] data) {

byte[] result = null;

Cipher cipher = null;

try {

cipher = Cipher.getInstance("AES/CFB/NoPadding");

cipher.init(Cipher.ENCRYPT_MODE, keySpec, iv);

result = cipher.doFinal(data);

} catch (Exception e) {

throw new RuntimeException(e);

}

return result;

}

public byte[] decrypt(byte[] secret) {

byte[] result = null;

Cipher cipher = null;

try {

cipher = Cipher.getInstance("AES/CFB/NoPadding");

cipher.init(Cipher.DECRYPT_MODE, keySpec, iv);

result = cipher.doFinal(secret);

} catch (Exception e) {

throw new RuntimeException(e);

}

return result;

}

public static byte[] randomKey(int size) {

byte[] result = null;

try {

KeyGenerator gen = KeyGenerator.getInstance("AES");

gen.init(size, new SecureRandom());

result = gen.generateKey().getEncoded();

} catch (Exception e) {

throw new RuntimeException(e);

}

return result;

}

}4.5. RSA算法RSA 加密算法是目前最有影响力的 公钥加密算法,并且被普遍认为是目前 最优秀的公钥方案 之一。RSA 是第一个能同时用于 加密 和 数字签名 的算法,它能够 抵抗 到目前为止已知的 所有密码攻击,已被 ISO 推荐为公钥数据加密标准。RSA 加密算法 基于一个十分简单的数论事实:将两个大 素数 相乘十分容易,但想要对其乘积进行 因式分解 却极其困难,因此可以将 乘积 公开作为 加密密钥。import net.pocrd.annotation.NotThreadSafe;

import org.bouncycastle.jce.provider.BouncyCastleProvider;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

import javax.crypto.Cipher;

import java.io.ByteArrayOutputStream;

import java.security.KeyFactory;

import java.security.Security;

import java.security.Signature;

import java.security.interfaces.RSAPrivateCrtKey;

import java.security.interfaces.RSAPublicKey;

import java.security.spec.PKCS8EncodedKeySpec;

import java.security.spec.X509EncodedKeySpec;

@NotThreadSafe

public class RsaHelper {

private static final Logger logger = LoggerFactory.getLogger(RsaHelper.class);

private RSAPublicKey publicKey;

private RSAPrivateCrtKey privateKey;

static {

Security.addProvider(new BouncyCastleProvider()); //使用bouncycastle作为加密算法实现

}

public RsaHelper(String publicKey, String privateKey) {

this(Base64Util.decode(publicKey), Base64Util.decode(privateKey));

}

public RsaHelper(byte[] publicKey, byte[] privateKey) {

try {

KeyFactory keyFactory = KeyFactory.getInstance("RSA");

if (publicKey != null && publicKey.length > 0) {

this.publicKey = (RSAPublicKey)keyFactory.generatePublic(new X509EncodedKeySpec(publicKey));

}

if (privateKey != null && privateKey.length > 0) {

this.privateKey = (RSAPrivateCrtKey)keyFactory.generatePrivate(new PKCS8EncodedKeySpec(privateKey));

}

} catch (Exception e) {

throw new RuntimeException(e);

}

}

public RsaHelper(String publicKey) {

this(Base64Util.decode(publicKey));

}

public RsaHelper(byte[] publicKey) {

try {

KeyFactory keyFactory = KeyFactory.getInstance("RSA");

if (publicKey != null && publicKey.length > 0) {

this.publicKey = (RSAPublicKey)keyFactory.generatePublic(new X509EncodedKeySpec(publicKey));

}

} catch (Exception e) {

throw new RuntimeException(e);

}

}

public byte[] encrypt(byte[] content) {

if (publicKey == null) {

throw new RuntimeException("public key is null.");

}

if (content == null) {

return null;

}

try {

Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");

cipher.init(Cipher.ENCRYPT_MODE, publicKey);

int size = publicKey.getModulus().bitLength() / 8 - 11;

ByteArrayOutputStream baos = new ByteArrayOutputStream((content.length + size - 1) / size * (size + 11));

int left = 0;

for (int i = 0; i < content.length; ) {

left = content.length - i;

if (left > size) {

cipher.update(content, i, size);

i += size;

} else {

cipher.update(content, i, left);

i += left;

}

baos.write(cipher.doFinal());

}

return baos.toByteArray();

} catch (Exception e) {

throw new RuntimeException(e);

}

}

public byte[] decrypt(byte[] secret) {

if (privateKey == null) {

throw new RuntimeException("private key is null.");

}

if (secret == null) {

return null;

}

try {

Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");

cipher.init(Cipher.DECRYPT_MODE, privateKey);

int size = privateKey.getModulus().bitLength() / 8;

ByteArrayOutputStream baos = new ByteArrayOutputStream((secret.length + size - 12) / (size - 11) * size);

int left = 0;

for (int i = 0; i < secret.length; ) {

left = secret.length - i;

if (left > size) {

cipher.update(secret, i, size);

i += size;

} else {

cipher.update(secret, i, left);

i += left;

}

baos.write(cipher.doFinal());

}

return baos.toByteArray();

} catch (Exception e) {

logger.error("rsa decrypt failed.", e);

}

return null;

}

public byte[] sign(byte[] content) {

if (privateKey == null) {

throw new RuntimeException("private key is null.");

}

if (content == null) {

return null;

}

try {

Signature signature = Signature.getInstance("SHA1WithRSA");

signature.initSign(privateKey);

signature.update(content);

return signature.sign();

} catch (Exception e) {

throw new RuntimeException(e);

}

}

public boolean verify(byte[] sign, byte[] content) {

if (publicKey == null) {

throw new RuntimeException("public key is null.");

}

if (sign == null || content == null) {

return false;

}

try {

Signature signature = Signature.getInstance("SHA1WithRSA");

signature.initVerify(publicKey);

signature.update(content);

return signature.verify(sign);

} catch (Exception e) {

logger.error("rsa verify failed.", e);

}

return false;

}

}4.6. ECC算法ECC 也是一种 非对称加密算法,主要优势是在某些情况下,它比其他的方法使用 更小的密钥,比如 RSA 加密算法,提供 相当的或更高等级 的安全级别。不过一个缺点是 加密和解密操作 的实现比其他机制 时间长 (相比 RSA 算法,该算法对 CPU 消耗严重)。import net.pocrd.annotation.NotThreadSafe;

import org.bouncycastle.jcajce.provider.asymmetric.ec.BCECPrivateKey;

import org.bouncycastle.jcajce.provider.asymmetric.ec.BCECPublicKey;

import org.bouncycastle.jce.provider.BouncyCastleProvider;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

import javax.crypto.Cipher;

import java.io.ByteArrayOutputStream;

import java.security.KeyFactory;

import java.security.Security;

import java.security.Signature;

import java.security.spec.PKCS8EncodedKeySpec;

import java.security.spec.X509EncodedKeySpec;

@NotThreadSafe

public class EccHelper {

private static final Logger logger = LoggerFactory.getLogger(EccHelper.class);

private static final int SIZE = 4096;

private BCECPublicKey publicKey;

private BCECPrivateKey privateKey;

static {

Security.addProvider(new BouncyCastleProvider());

}

public EccHelper(String publicKey, String privateKey) {

this(Base64Util.decode(publicKey), Base64Util.decode(privateKey));

}

public EccHelper(byte[] publicKey, byte[] privateKey) {

try {

KeyFactory keyFactory = KeyFactory.getInstance("EC", "BC");

if (publicKey != null && publicKey.length > 0) {

this.publicKey = (BCECPublicKey)keyFactory.generatePublic(new X509EncodedKeySpec(publicKey));

}

if (privateKey != null && privateKey.length > 0) {

this.privateKey = (BCECPrivateKey)keyFactory.generatePrivate(new PKCS8EncodedKeySpec(privateKey));

}

} catch (ClassCastException e) {

throw new RuntimeException("", e);

} catch (Exception e) {

throw new RuntimeException(e);

}

}

public EccHelper(String publicKey) {

this(Base64Util.decode(publicKey));

}

public EccHelper(byte[] publicKey) {

try {

KeyFactory keyFactory = KeyFactory.getInstance("EC", "BC");

if (publicKey != null && publicKey.length > 0) {

this.publicKey = (BCECPublicKey)keyFactory.generatePublic(new X509EncodedKeySpec(publicKey));

}

} catch (Exception e) {

throw new RuntimeException(e);

}

}

public byte[] encrypt(byte[] content) {

if (publicKey == null) {

throw new RuntimeException("public key is null.");

}

try {

Cipher cipher = Cipher.getInstance("ECIES", "BC");

cipher.init(Cipher.ENCRYPT_MODE, publicKey);

int size = SIZE;

ByteArrayOutputStream baos = new ByteArrayOutputStream((content.length + size - 1) / size * (size + 45));

int left = 0;

for (int i = 0; i < content.length; ) {

left = content.length - i;

if (left > size) {

cipher.update(content, i, size);

i += size;

} else {

cipher.update(content, i, left);

i += left;

}

baos.write(cipher.doFinal());

}

return baos.toByteArray();

} catch (Exception e) {

throw new RuntimeException(e);

}

}

public byte[] decrypt(byte[] secret) {

if (privateKey == null) {

throw new RuntimeException("private key is null.");

}

try {

Cipher cipher = Cipher.getInstance("ECIES", "BC");

cipher.init(Cipher.DECRYPT_MODE, privateKey);

int size = SIZE + 45;

ByteArrayOutputStream baos = new ByteArrayOutputStream((secret.length + size + 44) / (size + 45) * size);

int left = 0;

for (int i = 0; i < secret.length; ) {

left = secret.length - i;

if (left > size) {

cipher.update(secret, i, size);

i += size;

} else {

cipher.update(secret, i, left);

i += left;

}

baos.write(cipher.doFinal());

}

return baos.toByteArray();

} catch (Exception e) {

logger.error("ecc decrypt failed.", e);

}

return null;

}

public byte[] sign(byte[] content) {

if (privateKey == null) {

throw new RuntimeException("private key is null.");

}

try {

Signature signature = Signature.getInstance("SHA1withECDSA", "BC");

signature.initSign(privateKey);

signature.update(content);

return signature.sign();

} catch (Exception e) {

throw new RuntimeException(e);

}

}

public boolean verify(byte[] sign, byte[] content) {

if (publicKey == null) {

throw new RuntimeException("public key is null.");

}

try {

Signature signature = Signature.getInstance("SHA1withECDSA", "BC");

signature.initVerify(publicKey);

signature.update(content);

return signature.verify(sign);

} catch (Exception e) {

logger.error("ecc verify failed.", e);

}

return false;

}

}5. 各种加密算法对比5.1. 散列算法比较5.2. 对称加密算法比较5.3. 非对称加密算法比较5.4. 对称算法与非对称加密算法5.4.1. 对称算法密钥管理:比较难,不适合互联网,一般用于内部系统安全性:中加密速度:快好 几个数量级 (软件加解密速度至少快 100 倍,每秒可以加解密数 M 比特 数据),适合大数据量的加解密处理5.4.2. 非对称算法密钥管理:密钥容易管理安全性:高加密速度:比较慢,适合 小数据量 加解密或数据签名小结本文介绍了 数字签名,加密和解密,对称加密和非对称加密,然后详细介绍了 MD5,SHA-1,HMAC,DES/AES,RSA 和 ECC 这几种加密算法和代码示例。发布于 2021-01-26 13:39加密算法非对称式加密数据加密​赞同 199​​5 条评论​分享​喜欢​收藏​申请转载​文章被以下专栏收录360linker IT热点技术讲解,编程技巧,职场

数据加密技术_百度百科

技术_百度百科 网页新闻贴吧知道网盘图片视频地图文库资讯采购百科百度首页登录注册进入词条全站搜索帮助首页秒懂百科特色百科知识专题加入百科百科团队权威合作下载百科APP个人中心收藏查看我的收藏0有用+10数据加密技术播报上传视频本词条由“科普中国”科学百科词条编写与应用工作项目 审核 。所谓数据加密(Data Encryption)技术是指将一个信息(或称明文,plain text)经过加密钥匙(Encryption key)及加密函数转换,变成无意义的密文(cipher text),而接收方则将此密文经过解密函数、解密钥匙(Decryption key)还原成明文。加密技术是网络安全技术的基石。中文名数据加密外文名Data Encryption重要性是网络安全技术的基石分    类专用密钥和公开密钥目录1简介2分类▪专用密钥▪对称密钥▪公开密钥▪非对称加密技术3加密技术▪概述▪链路加密▪节点加密▪端到端加密4研究进展简介播报编辑密码技术是通信双方按约定的法则进行信息特殊变换的一种保密技术。根据特定的法 则,变明文(Plaintext)为密文(Ciphertext)。从明文变成密文的过程称为加密(Encryption); 由密文恢复出原明文的过程,称为解密(Decryption)。密码在早期仅对文字或数码进行加、 解密,随着通信技术的发展,对语音、图像、数据等都可实施加、解密变换。密码学是由密码编码学和密码分析学组成的,其中密码编码学主要研究对信息进行编码以实现信息隐蔽,而密码分析学主要研究通过密文获取对应的明文信息。密码学研究密码理论、密码算 法、密码协议、密码技术和密码应用等。 随着密码学的不断成熟,大量密码产品应用于国计民生中,如USB Key、PIN EntryDevice、 RFID 卡、银行卡等。广义上讲,包含密码功能的应用产品也是密码产品,如各种物联网产 品,它们的结构与计算机类似,也包括运算、控制、存储、输入输出等部分。密码芯片是密码产品安全性的关键,它通常是由系统控制模块、密码服务模块、存储器控制模块、功 能辅助模块、通信模块等关键部件构成的。数据加密技术要求只有在指定的用户或网络下,才能解除密码而获得原来的数据,这就需要给数据发送方和接受方以一些特殊的信息用于加解密,这就是所谓的密钥。其密钥的值是从大量的随机数中选取的。按加密算法分为专用密钥和公开密钥两种。分类播报编辑专用密钥专用密钥,又称为对称密钥或单密钥,加密和解密时使用同一个密钥,即同一个算法。如DES和MIT的Kerberos算法。单密钥是最简单方式,通信双方必须交换彼此密钥,当需给对方发信息时,用自己的加密密钥进行加密,而在接收方收到数据后,用对方所给的密钥进行解密。当一个文本要加密传送时,该文本用密钥加密构成密文,密文在信道上传送,收到密文后用同一个密钥将密文解出来,形成普通文体供阅读。在对称密钥中,密钥的管理极为重要,一旦密钥丢失,密文将无密可保。这种方式在与多方通信时因为需要保存很多密钥而变得很复杂,而且密钥本身的安全就是一个问题。对称密钥对称密钥是最古老的,一般说“密电码”采用的就是对称密钥。由于对称密钥运算量小、速度快、安全强度高,因而如今仍广泛被采用。DES是一种数据分组的加密算法,它将数据分成长度为64位的数据块,其中8位用作奇偶校验,剩余的56位作为密码的长度。第一步将原文进行置换,得到64位的杂乱无章的数据组;第二步将其分成均等两段;第三步用加密函数进行变换,并在给定的密钥参数条件下,进行多次迭代而得到加密密文。公开密钥公开密钥,又称非对称密钥,加密和解密时使用不同的密钥,即不同的算法,虽然两者之间存在一定的关系,但不可能轻易地从一个推导出另一个。有一把公用的加密密钥,有多把解密密钥,如RSA算法。非对称密钥由于两个密钥(加密密钥和解密密钥)各不相同,因而可以将一个密钥公开,而将另一个密钥保密,同样可以起到加密的作用。在这种编码过程中,一个密码用来加密消息,而另一个密码用来解密消息。在两个密钥中有一种关系,通常是数学关系。公钥和私钥都是一组十分长的、数字上相关的素数(是另一个大数字的因数)。有一个密钥不足以翻译出消息,因为用一个密钥加密的消息只能用另一个密钥才能解密。每个用户可以得到唯一的一对密钥,一个是公开的,另一个是保密的。公共密钥保存在公共区域,可在用户中传递,甚至可印在报纸上面。而私钥必须存放在安全保密的地方。任何人都可以有你的公钥,但是只有你一个人能有你的私钥。它的工作过程是:“你要我听你的吗?除非你用我的公钥加密该消息,我就可以听你的,因为我知道没有别人在偷听。只有我的私钥(其他人没有)才能解密该消息,所以我知道没有人能读到这个消息。我不必担心大家都有我的公钥,因为它不能用来解密该消息。”公开密钥的加密机制虽提供了良好的保密性,但难以鉴别发送者,即任何得到公开密钥的人都可以生成和发送报文。数字签名机制提供了一种鉴别方法,以解决伪造、抵赖、冒充和篡改等问题。非对称加密技术数字签名一般采用非对称加密技术(如RSA),通过对整个明文进行某种变换,得到一个值,作为核实签名。接收者使用发送者的公开密钥对签名进行解密运算,如其结果为明文,则签名有效,证明对方的身份是真实的。当然,签名也可以采用多种方式,例如,将签名附在明文之后。数字签名普遍用于银行、电子贸易等。数字签名不同于手写签字:数字签名随文本的变化而变化,手写签字反映某个人个性特征,是不变的;数字签名与文本信息是不可分割的,而手写签字是附加在文本之后的,与文本信息是分离的。值得注意的是,能否切实有效地发挥加密机制的作用,关键的问题在于密钥的管理,包括密钥的生存、分发、安装、保管、使用以及作废全过程。加密技术播报编辑概述在常规密码中,收信方和发信方使用相同的密钥,即加密密钥和解密密钥是相同或等价的。比较著名的常规密码算法有:美国的DES及其各种变形,比如Triple DES、GDES、New DES和DES的前身Lucifer;欧洲的IDEA;日本的FEAL?N、LOKI?91、Skipjack、RC4、RC5以及以代换密码和转轮密码为代表的古典密码等。在众多的常规密码中影响最大的是DES密码。常规密码的优点是有很强的保密强度,且经受住时间的检验和攻击,但其密钥必须通过安全的途径传送。因此,其密钥管理成为系统安全的重要因素。在公钥密码中,收信方和发信方使用的密钥互不相同,而且几乎不可能从加密密钥推导解密密钥。比较著名的公钥密码算法有:RSA、背包密码、McEliece密码、Diffe?Hellman、Rabin、Ong?Fiat?Shamir、零知识证明的算法、椭圆曲线、EIGamal算法等等。最有影响的公钥密码算法是RSA,它能抵抗到目前为止已知的所有密码攻击。公钥密码的优点是可以适应网络的开放性要求,且密钥管理问题也较为简单,尤其可方便的实现数字签名和验证。但其算法复杂,加密数据的速率较低。尽管如此,随着现代电子技术和密码技术的发展,公钥密码算法将是一种很有前途的网络安全加密体制。当然在实际应用中人们通常将常规密码和公钥密码结合在一起使用,比如:利用DES或者IDEA来加密信息,而采用RSA来传递会话密钥。如果按照每次加密所处理的比特来分类,可以将加密算法分为序列密码和分组密码。前者每次只加密一个比特而后者则先将信息序列分组,每次处理一个组。密码技术是网络安全最有效的技术之一。一个加密网络,不但可以防止非授权用户的搭线窃听和入网,而且也是对付恶意软件的有效方法之一。一般的数据加密可以在通信的三个层次来实现:链路加密、节点加密和端到端加密。链路加密对于在两个网络节点间的某一次通信链路,链路加密能为网上传输的数据提供安全保证。对于链路加密(又称在线加密),所有消息在被传输之前进行加密,在每一个节点对接收到的消息进行解密,然后先使用下一个链路的密钥对消息进行加密,再进行传输。在到达目的地之前,一条消息可能要经过许多通信链路的传输。由于在每一个中间传输节点消息均被解密后重新进行加密,因此,包括路由信息在内的链路上的所有数据均以密文形式出现。这样,链路加密就掩盖了被传输消息的源点与终点。由于填充技术的使用以及填充字符在不需要传输数据的情况下就可以进行加密,这使得消息的频率和长度特性得以掩盖,从而可以防止对通信业务进行分析。尽管链路加密在计算机网络环境中使用得相当普遍,但它并非没有问题。链路加密通常用在点对点的同步或异步线路上,它要求先对在链路两端的加密设备进行同步,然后使用一种链模式对链路上传输的数据进行加密。这就给网络的性能和可管理性带来了副作用。在线路/信号经常不通的海外或卫星网络中,链路上的加密设备需要频繁地进行同步,带来的后果是数据丢失或重传。另一方面,即使仅一小部分数据需要进行加密,也会使得所有传输数据被加密。在一个网络节点,链路加密仅在通信链路上提供安全性,消息以明文形式存在,因此所有节点在物理上必须是安全的,否则就会泄漏明文内容。然而保证每一个节点的安全性需要较高的费用,为每一个节点提供加密硬件设备和一个安全的物理环境所需要的费用由以下几部分组成:保护节点物理安全的雇员开销,为确保安全策略和程序的正确执行而进行审计时的费用,以及为防止安全性被破坏时带来损失而参加保险的费用。在传统的加密算法中,用于解密消息的密钥与用于加密的密钥是相同的,该密钥必须被秘密保存,并按一定规则进行变化。这样,密钥分配在链路加密系统中就成了一个问题,因为每一个节点必须存储与其相连接的所有链路的加密密钥,这就需要对密钥进行物理传送或者建立专用网络设施。而网络节点地理分布的广阔性使得这一过程变得复杂,同时增加了密钥连续分配时的费用。节点加密尽管节点加密能给网络数据提供较高的安全性,但它在操作方式上与链路加密是类似的:两者均在通信链路上为传输的消息提供安全性;都在中间节点先对消息进行解密,然后进行加密。因为要对所有传输的数据进行加密,所以加密过程对用户是透明的。然而,与链路加密不同,节点加密不允许消息在网络节点以明文形式存在,它先把收到的消息进行解密,然后采用另一个不同的密钥进行加密,这一过程是在节点上的一个安全模块中进行。节点加密要求报头和路由信息以明文形式传输,以便中间节点能得到如何处理消息的信息。因此这种方法对于防止攻击者分析通信业务是脆弱的。端到端加密端到端加密允许数据在从源点到终点的传输过程中始终以密文形式存在。采用端到端加密(又称脱线加密或包加密),消息在被传输时到达终点之前不进行解密,因为消息在整个传输过程中均受到保护,所以即使有节点被损坏也不会使消息泄露。端到端加密系统的价格便宜些,并且与链路加密和节点加密相比更可靠,更容易设计、实现和维护。端到端加密还避免了其它加密系统所固有的同步问题,因为每个报文包均是独立被加密的,所以一个报文包所发生的传输错误不会影响后续的报文包。此外,从用户对安全需求的直觉上讲,端到端加密更自然些。单个用户可能会选用这种加密方法,以便不影响网络上的其他用户,此方法只需要源和目的节点是保密的即可。端到端加密系统通常不允许对消息的目的地址进行加密,这是因为每一个消息所经过的节点都要用此地址来确定如何传输消息。由于这种加密方法不能掩盖被传输消息的源点与终点,因此它对于防止攻击者分析通信业务是脆弱的。研究进展播报编辑第60届Intel ISEF英特尔国际科学与工程大奖赛将于2009年5月10日到15日在美国内华达州雷诺市举行。自2000年开始,中国科学技术协会在英特尔(中国)有限公司的赞助下,组织中国学生参加一年一度在美国举行的英特尔国际科学与工程大奖赛(Intel ISEF)总决赛。在过去的9年里,共计208名中国大陆学生参与了137个项目的竞赛并赢得了142个奖项,其中包括2004 年获得的一项Intel ISEF顶级奖项 “英特尔基金会青少年科学精英奖”。在2008年的大赛上,来自北京,上海,广东,福建,四川,吉林,辽宁,云南,天津和山西的23名少年英才,带着17个项目参与角逐,最终取得了14个奖项,包括一个工程学科的特等奖和一等奖。英特尔于2007、2008年两次邀请了中国教育部代表团观摩Intel ISEF,并参加教育家论坛,与全球教育家共同探讨科学教育和青少年创新人才培养的问题。以下是往届中国获奖参赛项目介绍:在信息技术飞速发展的今天,数据加密越来越受到重视。当下,加密技术已经十分成熟,然而大部分加密算法要靠复杂的数学方法保证加密的强度。受到玩具魔方的启发后,我研发出一种用魔方变换提供加密强度的算法——魔方流密码算法。该算法的不同之处在于:算法的主体是一个包含很多数据的虚拟魔方,通过魔方变换改变其中的数据,在每轮变换结束后,会得到全新的数据,即为当前加(解)密运算的密钥。对该算法的进一步实验发现:主密钥长度不影响执行速度;密钥流的伪随机性良好;密钥生成过程有很好的混乱和扩散。而且,算法的C语言实现程序资源占用很少,速度较快。算法的多项指标都达到了实际应用的标准。新手上路成长任务编辑入门编辑规则本人编辑我有疑问内容质疑在线客服官方贴吧意见反馈投诉建议举报不良信息未通过词条申诉投诉侵权信息封禁查询与解封©2024 Baidu 使用百度前必读 | 百科协议 | 隐私政策 | 百度百科合作平台 | 京ICP证030173号 京公网安备110000020000

数据加密技术知识点大盘点 - 知乎

数据加密技术知识点大盘点 - 知乎切换模式写文章登录/注册数据加密技术知识点大盘点知了堂教育专注职业教育+人才服务一、 什么是数据加密? 信息化时代,信息化本身就是一把双刃剑,一方面它为我们的生产、生活带来好处,另一方面,信息泄露也会给我们带来极大的威胁。所以,客观上,必须有强有力的安全措施,防止机密数据被窃取或篡改。数据加密技术是指一条消息通过加密密钥和加密函数转换成无意义的密文,接收者通过解密函数和解密密钥将密文还原成明文。这样,我们就可以保护数据不被非法窃取和读取。提高计算机安全水平的基础是掌握数据加密的本质,数据加密由明文(未加密报文)、密文(加密报文)、加解密设备或算法、加解密密钥四部分组成。加密方法有很多种,但主要有对称加密算法、非对称加密算法和不可逆加密算法。密钥加密有两种类型:分组和序列。 数据库加密是计算机系统对信息进行保护的一种最可靠的方法。它利用密码技术对信息进行加密,实现信息屏蔽,从而起到保护信息安全的作用。对数据库中的数据进行加密,可以防止数据在存储和传输过程中失密。 计算机网络中的加密可以在不同层次上进行,最常见的是在应用层、链路层和网络层进行加 密。数据加密可以分为两种途径:一种是通过硬件实现数据加密,另一种是通过软件实现数据加密。通常所说的数据加密是指通过软件对数据进行加密。通过硬件实现网络数据加密的方法有3种:链路层加密、节点加密和端对端加密。常用软件加密算法分为对称加密和非对称加密。、二、 数据加密标准——DESData Encryption Standard数据加密标准是 IBM公司开发的,于1977年被美国国家标准管理局确定为联邦信息标准之一。ISO还把 DES作为一种数据加密标准。DES是世界上第一个得到认可的实用密码算法标准,至今已经历了20多年的实践检验。DES使用相同的算法对数据进行加密和解密,并且使用了相同的加密和解密密钥。DES使用56位密钥将64位数据加密成同等长度的密文。在DES加密过程中,64位明文最初被替换,然后分成左右32位块。经过16次迭代,循环移位变换,最后逆变换得到64位密文。DES的解密过程和DES很像,只是颠倒了密钥的使用顺序。DES算法采用离散、混淆等基本技巧,其算法的基本单位是简单代换、代换、模2加法。DES的整个算法结构是开放的,其安全性由密钥保证。三、 单向函数单向函数的概念是公开密钥密码的中心。尽管它本身并不是一个协议,但在本书中所讨论的大多数协议来说却是一个基本结构模块。单向函数是一类计算起来相对容易,但求逆却非常困难的函数。也就是说,已知X,我们很容易计算出f(x)。但已知f(x),却难于计算出x.。在这里,“难”定义为:即使世界上所有的计算机都用来计算,从f(x)计算出x也要花费数百万年的时间。四、 单向Hash函数单项Hash函数有:压缩函数、缩短函数、消息摘要、指纹、密码校验和、信息完整性检验(DIC)和操作检验码(MDC)。单向Hash函数是现代密码学的核心。单向Hash函数是许多协议的另一结构模块。长期以来, Hash函数一直被应用于计算机科学中,无论是从数学角度还是其他角度, Hash函数将输入变量的长度串(称为预映射,Pre-image)转换成输出固定长度(通常较短)(Hash值)。一种简单的 Hash函数是对预映射进行处理,并返回一个由所有入位元组转换成的元组。五、AES算法概述AES算法密钥是美国国家标准和技术委员会电子数据加密标准。AES是一种迭代的对称密钥分组密码,它可以使用128位,192位,256位密钥,同时还可以对数据进行加密和解密。AES算法的解密与传统的解密、加密技术相比,都是对加密数据的解密。该算法以置换替代为基础。排列是数据的重排,而不是用一个单元数据替换另一个单元。其主要应用于各种基于私钥数据加密算法的信息安全技术和安全产品中,如无线网络应用、信息安全领域、虚拟专网、远程访问服务器、移动通信、电子金融等。六、 RSA算法数学上的单向陷门函数的特点是在一个方向上求值很容易,但其逆向计算却很困难。许多形式为Y=f(x)的函数,对于给定的自变量x值,很容易计算出函数Y的值;而由给定Y值,在很多情况下依照函数关系f(x)计算x值则十分困难。RSA(Rivest-Shamir-Adelman)与1978年出现,目前已被ISO推荐为公钥数据加密标准。RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但是分解它们的乘积却非常困难,因此可以将乘积公开做为加密密钥。DES并不能取代RSA,它们的优缺点正好互补。RSA的密钥很长,加密速度慢,而采用DES,正好弥补了RSA的缺点。即DES用于明文加密,RSA用于DES密钥加密。七、 密钥管理密匙管理是密钥学中最难的部分。对密钥算法和协议的安全设计有一定难度,但需要大量的研究才能解决。但对密钥保密则更加困难。解密者常常通过密码管理来解密对称密钥和公钥体制。密匙管理技术包括密匙的产生、分配、保存、替换和销毁等各个环节的保密措施。1、密钥生成(1)减少的密钥空间(2)弱密钥选择人们选择自己的密钥时,常常喜欢选择更容易记忆的密钥。这就是所谓的弱密钥。(3)随机密钥好密钥是指那些由自动处理设备生成的随机的位串。如果密钥为64位长,每一个可能的64位密钥必须具有相等的可能性。这些密钥要么从可靠的随机源中产生,要么从安全的伪随机发生器中产生(4)X9.17密钥生成ANSIX9.17标准规定了一种密钥生成方法。并不生成容易记忆的密钥,更适合在一个系统中产生会话密钥或伪机数。用来生成密钥的加密算法是三重DES,就像其他算法一样容易。2、非对称密钥空间假设有多个加密设备,使用了安全算法,但他们害怕这些设备落入敌人手中,破坏加密,所以可以将算法添加到防篡改模块中。防篡改模块是一个可以从一个特殊的密钥解密的模块,而其他密钥会导致模块用一个非常弱的算法解密。这样做会使不知道这种特殊形式的攻击者几乎不可能获得密钥。3、发送密钥4、验证密钥实际上,对于接受方如何判断所受密钥是真来字发送方,还有很多问题需要解决。举例来说,一个恶意的主动攻击者可以将经过加密和签名的消息伪装成来自发送者,当接收方试图访问公共密钥数据库以验证发送方的签名时,恶意的主动攻击者可以使用他自己的公共密钥来替代。通过用自己生成的假 KDC公钥替换真实 KDC公钥,他可以实现自己发明的伪 KDC,从而欺骗接收者。(1) 密钥传输中的错误检测(2) 密钥在解密过程中的错误检测5、使用密钥软件加密不可靠。无法预测操作系统何时会停止加密、在磁盘上写些什么或处理其他紧急工作。当操作系统再次回到挂起的加密任务时,操作系统已经把加密程序写在了磁盘上,也写下了密钥。这些密钥不会被加密并保留在磁盘上,直到计算机覆盖该存储区域。当攻击者使用好的工具彻底搜索硬盘时,密钥可能还在。在抢占式多任务环境中,加密操作可以被赋予足够高的优先级,以防止中断。虽然这样可以降低危险程度,但是还是有一定风险的。6、更新密钥为了确保密钥的安全性每天都需要改变加密的数据链路的密钥,但这样做十分费时。更好的解决办法是直接从旧的密钥中产生新密钥,这又称为密钥更新。7、存储密钥最简单的密钥存储是单用户的密钥存储,一些系统采用简单方法:密钥存放于发送者的脑子中,而决不能放在系统中,发送者记住密钥,并只在对文件加密或解密时才输入密钥。8、公开密钥的密钥管理公开密钥密码使密钥容易管理,但也存在着问题。无论网络上有多少人,每个人只有一个公开密钥。如果发送者给接收者传送一段信息,就必须知道接收者的公开密钥。(1) 公钥证书(2) 分布式密钥管理八、 通信加密在计算机网络中,通信加密(在传输过程中的数据加密)分为链路加密、节点加密和端到端加密。(1)链路加密(2)节点加密(3)端到端加密九、 加密数据存储1、非关联化密钥加密硬盘有两种方法:用一个密钥加密所有数据。但这给分析师提供了大量的密文进行分析,使得多个用户无法只查看硬盘的一部分;用不同的密钥分别加密每个文件,这迫使用户记住每个文件的密钥。2、驱动级与文件级加密有两种级别的硬盘加密:文件级和驱动器级。3、加密驱动器的随机存取十、硬件加密与加密芯片1、硬件加密当前,所有加密产品都采用了特定的硬件形式。这个加密盒被嵌入在通讯线路中,然后所有经过的数据都被加密。尽管现在软件加密越来越受欢迎,但硬件加密在商业和军事应用中仍然是主流。快速、安全、易安装,使用方便。目前市场上有3种基本加密硬件:自带加密模块、专用加密盒和插卡,可以插入个人电脑。2、加密芯片密码虽然可以提供私人信息安全服务,但首先是维护国家利益的工具。正是基于这个出发点,考虑到DES算法的公布所带来的各种问题,美国国家保密局从19085年开始考虑制定新的商业数据加密标准来代替DES。1990年投入试运行,1993年正式使用。主要用于通信系统中电话、传真和计算机通信的安全防护。十一、加密技术的应用1、数字签名数字签名是指只有发送者才能产生的他人不能伪造的数字串,这个数字串也是发送者发送的信息的真实性的证明。数字签名认证技术在电子银行系统中得到广泛的应用,其本质上是对客户数据进行加密和解密,通常采用数字签名认证技术来核对客户的身份信息。一般而言,数字签名认证技术是建立在私密密钥和公钥签名基础上的,但该技术在实际应用中存在缺陷,单独使用任何一种数字签名都存在安全隐患,因此,多采用两种方法,以提高数据安全性。2、数字时间戳(数字时间戳)在电子交易中,需要对交易文件的日期和时间信息采取安全措施,而数字时间戳则可以提供安全保护,并证明电子文件的发布时间。3、数字证书和认证系统(1)数字证书电子邮件、电子商务等各个领域都可以使用数字证书。采用 CCITTX.509国际标准制定了数字证书的内部格式。(2)认证系统在电子交易中,数字时间戳服务和数字凭证的发放都不是由双方完成的(公平性无法保证),而是由权威、公正的第三方完成的。认证中心CA是承担网上安全电子交易认证服务的服务机构,可以发放数字证书,确认用户身份。认证中心的主要任务是接受数字证书的申请,颁发数字证书和管理数字证书。4、电子商务。(1)支付网关付款网关与支付型电子商务业务有关,位于公网和传统的银行网络之间,它的主要功能是:解密来自公网的数据包,并根据银行系统内部通信协议将数据重新打包;接收来自银行系统内部的相应消息,将数据转换成由公网发送的数据格式,并对数据进行加密。(2)信用卡服务系统POS系统不仅仅是指EOS收银机或电子算盘,这是商场消费者常见的。真正的POS系统是指一个优化的信息管理系统,有强大的财务和技术支持。(3) 电子柜员机该 POS系统不仅是指商场里消费者常用的 EOS收款机或电子算盘,真正的 POS系统是指一个拥有强大资金和技术支持的信息管理系统,通过优化后的销售解决方案。(4)电子数据交换(EDI)电子数据交换是电子商务环节的基础, POS等系统的操作可以顺利实现。电子数据交换包括硬件和软件两大部分,硬件主要是计算机网络,软件主要是计算机软件和电子数据交换标准。在硬件方面,由于安全性的原因,以往的 EDI一般是通过专用网络(即 VAN)实现的,但是目前,因特网作为成本更低、服务更好的系统,正逐渐成为 EDI的另一个更合适的硬件载体。十二、结语总而言之,随着计算机技术的发展,数据加密技术也在不断进步。采用数据加密技术,可以延迟数据破译的时间,为计算机安全提供技术保障。在发展数据加密技术的同时,还要做好漏洞处理工作,填补可能存在的网络安全漏洞。指导用户养成正确的使用习惯,习惯使用杀毒软件,远离不健康、不规范的网站,从根本上保证数据安全,提高计算机的安全性能。发布于 2021-01-21 15:27数据加密加密算法非对称式加密​赞同 15​​添加评论​分享​喜欢​收藏​申请

信息加密技术_百度百科

技术_百度百科 网页新闻贴吧知道网盘图片视频地图文库资讯采购百科百度首页登录注册进入词条全站搜索帮助首页秒懂百科特色百科知识专题加入百科百科团队权威合作下载百科APP个人中心收藏查看我的收藏0有用+10信息加密技术播报讨论上传视频数学加密技术信息加密技术是利用数学或物理手段,对电子信息在传输过程中和存储体内进行保护,以防止泄露的技术。中文名信息加密技术包    括保密通信,计算机密钥方    法采用密码算    法RSA算法和CCEP算法目录1简介2加密技术应用3加密技术分析4优劣比较▪管理方面▪安全方面▪速度方面▪算法方面▪总结5流行算法6软件保护技术简介播报编辑保密通信,计算机密钥,防复制软盘等都属于信息加密技术。通信过程中的加密主要是采用密码,在数字通信中可利用计算机采用加密法,改变负载信息的数码结构。计算机信息保护则以软件加密为主。目前世界上最流行的几种加密体制和加密算法有:RSA算法和CCEP算法等。为防止破密,加密软件还常采用硬件加密和加密软盘。一些软件商品常带有一种小的硬卡,这就是硬件加密措施。在软盘上用激光穿孔,使软件的存储区有不为人所知的局部存坏,就可以防止非法复制。这样的加密软盘可以为不掌握加密技术的人员使用,以保护软件。由于计算机软件的非法复制,解密及盗版问题日益严重,甚至引发国际争端,因此对信息加密技术和加密手段的研究与开发,受到各国计算机界的重视,发展日新月异。加密技术应用播报编辑在常规的邮政系统中,寄信人用信封隐藏其内容,这就是最基本的保密技术,而在电子商务中,有形的信封就不再成为其代表性的选择。为了实现电子信息的保密性,就必须实现该信息对除特定收信人以外的任何人都是不可读取的。而为了保证共享设计规范的贸易伙伴的信息安全性就必须采取一定的手段来隐藏信息,而隐藏信息的最有效手段便是加密。保密通信,计算机密钥,防复制软盘等都属于信息加密技术。通信过程中的加密主要是采用密码,在数字通信中可利用计算机采用加密法,改变负载信息的数码结构。计算机信息保护则以软件加密为主。加密技术分析播报编辑信息加密技术加密就是通过密码算术对数据进行转化,使之成为没有正确密钥任何人都无法读懂的报文。而这些以无法读懂的形式出现的数据一般被称为密文。为了读懂报文,密文必须重新转变为它的最初形式——明文。而含有用来以数学方式转换报文的双重密码就是密钥。在这种情况下即使一则信息被截获并阅读,这则信息也是毫无利用价值的。而实现这种转化的算法标准,据不完全统计,到现在为止已经有近200多种。在这里,主要介绍几种重要的标准。按照国际上通行的惯例,将这近200种方法按照双方收发的密钥是否相同的标准划分为两大类:一种是常规算法(也叫私钥加密算法或对称加密算法),其特征是收信方和发信方使用相同的密钥,即加密密钥和解密密钥是相同或等价的。比较著名的常规密码算法有:美国的DES及其各种变形,比如3DES、GDES、New DES和DES的前身Lucifer; 欧洲的IDEA;日本的FEAL N、LOKI?91、Skipjack、RC4、RC5以及以代换密码和转轮密码为代表的古典密码等。在众多的常规密码中影响最大的是DES密码,而最近美国NIST(国家标准与技术研究所)推出的AES将有取代DES的趋势,后文将作出详细的分析。常规密码的优点是有很强的保密强度,且经受住时间的检验和攻击,但其密钥必须通过安全的途径传送。因此,其密钥管理成为系统安全的重要因素。另外一种是公钥加密算法(也叫非对称加密算法)。其特征是收信方和发信方使用的密钥互不相同,而且几乎不可能从加密密钥推导解密密钥。比较著名的公钥密码算法有:RSA、背包密码、McEliece密码、Diffe Hellman、Rabin、Ong Fiat Shamir、零知识证明的算法、椭圆曲线、EIGamal算法等等。最有影响的公钥密码算法是RSA,它能抵抗到目前为止已知的所有密码攻击,而最近势头正劲的ECC算法正有取代RSA的趋势。公钥密码的优点是可以适应网络的开放性要求,且密钥管理问题也较为简单,尤其可方便的实现数字签名和验证。但其算法复杂,加密数据的速率较低。尽管如此,随着现代电子技术和密码技术的发展,公钥密码算法将是一种很有前途的网络安全加密体制。这两种算法各有其短处和长处,在下面将作出详细的分析。1.1 私钥加密算法在私钥加密算法中,信息的接受者和发送者都使用相同的密钥,所以双方的密钥都处于保密的状态,因为私钥的保密性必须基于密钥的保密性,而非算法上。这在硬件上增加了私钥加密算法的安全性。但同时我们也看到这也增加了一个挑战:收发双方都必须为自己的密钥负责,这种情况在两者在地理上分离显得尤为重要。私钥算法还面临这一个更大的困难,那就是对私钥的管理和分发十分的困难和复杂,而且所需的费用十分的庞大。比如说,一个n个用户的网络就需要派发n(n-1)/2个私钥,特别是对于一些大型的并且广域的网络来说,其管理是一个十分困难的过程,正因为这些因素从而决定了私钥算法的使用范围。而且,私钥加密算法不支持数字签名,这对远距离的传输来说也是一个障碍。另一个影响私钥的保密性的因素是算法的复杂性。现今为止,国际上比较通行的是DES、3DES以及最近推广的AES。数据加密标准(Data Encryption Standard)是IBM公司1977年为美国政府研制的一种算法。DES是以56 位密钥为基础的密码块加密技术。它的加密过程一般如下:① 一次性把64位明文块打乱置换。② 把64位明文块拆成两个32位块;③ 用机密DES密钥把每个32位块打乱位置16次;④ 使用初始置换的逆置换。但在实际应用中,DES的保密性受到了很大的挑战,1999年1月,EFF和分散网络用不到一天的时间,破译了56位的DES加密信息。DES的统治地位受到了严重的影响,为此,美国推出DES的改进版本——三重加密(triple Data Encryption Standard)即在使用过程中,收发双方都用三把密钥进行加解密,无疑这种3*56式的加密方法大大提升了密码的安全性,按现在的计算机的运算速度,这种破解几乎是不可能的。但是我们在为数据提供强有力的安全保护的同时,也要花更多的时间来对信息进行三次加密和对每个密层进行解密。同时在这种前提下,使用这种密钥的双发都必须拥有3个密钥,如果丢失了其中任何一把,其余两把都成了无用的密钥。这样私钥的数量一下又提升了3倍,这显然不是我们想看到的。于是美国国家标准与技术研究所推出了一个新的保密措施来保护金融交易。高级加密标准(Advanced Encryption Standard)美国国家技术标准委员会(NIST)在2000年10月选定了比利时的研究成果“Rijndael”作为AES的基础。“Rijndael”是经过三年漫长的过程,最终从进入候选的五种方案中挑选出来的。AES内部有更简洁精确的数学算法,而加密数据只需一次通过。AES被设计成高速,坚固的安全性能,而且能够支持各种小型设备。AES与3DES相比,不仅是安全性能有重大差别,使用性能和资源有效利用上也有很大差别。虽然到现在为止,我还不了解AES的具体算法但是从下表可以看出其与3DES的巨大优越性。还有一些其他的一些算法,如美国国家安全局使用的飞鱼(Skipjack)算法,不过它的算法细节始终都是保密的,所以外人都无从得知其细节类容;一些私人组织开发的取代DES的方案:RC2、RC4、RC5等。1.2 公钥加密算法面对在执行过程中如何使用和分享密钥及保持其机密性等问题,1975年Whitefield Diffe和Marti Hellman提出了公开的密钥密码技术的概念,被称为Diffie-Hellman技术。从此公钥加密算法便产生了。由于采取了公共密钥,密钥的管理和分发就变得简单多了,对于一个n个用户的网络来说,只需要2n个密钥便可达到密度。同时使得公钥加密法的保密性全部集中在及其复杂的数学问题上,它的安全性因而也得到了保证。但是在实际运用中,公共密钥加密算法并没有完全的取代私钥加密算法。其重要的原因是它的实现速度远远赶不上私钥加密算法。又因为它的安全性,所以常常用来加密一些重要的文件。自公钥加密问世以来,学者们提出了许多种公钥加密方法,它们的安全性都是基于复杂的数学难题。根据所基于的数学难题来分类,有以下三类系统目前被认为是安全和有效的:大整数因子分解系统(代表性的有RSA)、椭圆曲线离散对数系统(ECC)和离散对数系统(代表性的有DSA),下面就作出较为详细的叙述。RSA算法是由罗纳多·瑞维斯特(Rivet)、艾迪·夏弥尔(Shamir)和里奥纳多·艾德拉曼(Adelman)联合推出的,RAS算法由此而得名。它的安全性是基于大整数素因子分解的困难性,而大整数因子分解问题是数学上的著名难题,至今没有有效的方法予以解决,因此可以确保RSA算法的安全性。RSA系统是公钥系统的最具有典型意义的方法,大多数使用公钥密码进行加密和数字签名的产品和标准使用的都是RSA算法。它得具体算法如下:① 找两个非常大的质数,越大越安全。把这两个质数叫做P和Q。② 找一个能满足下列条件得数字E:A.是一个奇数。B.小于P×Q。C.与(P-1)×(Q-1)互质,只是指E和该方程的计算结果没有相同的质数因子。③ 计算出数值D,满足下面性质:((D×E)-1)能被(P-1)×(Q-1)整除。公开密钥对是(P×Q,E)。私人密钥是D。公开密钥是E。解密函数是:假设T是明文,C是密文。加密函数用公开密钥E和模P×Q;加密信息=(TE)模P×Q。解密函数用私人密钥D和模P×Q;解密信息=(CD)模P×Q。椭圆曲线加密技术(ECC)是建立在单向函数(椭圆曲线离散对数)得基础上,由于它比RAS使用得离散对数要复杂得多。而且该单向函数比RSA得要难,所以与RSA相比,它有如下几个优点:安全性能更高 加密算法的安全性能一般通过该算法的抗攻击强度来反映。ECC和其他几种公钥系统相比,其抗攻击性具有绝对的优势。如160位 ECC与1024位 RSA有相同的安全强度。而210位 ECC则与2048bit RSA具有相同的安全强度。计算量小,处理速度快 虽然在RSA中可以通过选取较小的公钥(可以小到3)的方法提高公钥处理速度,即提高加密和签名验证的速度,使其在加密和签名验证速度上与ECC有可比性,但在私钥的处理速度上(解密和签名),ECC远比RSA、DSA快得多。因此ECC总的速度比RSA、DSA要快得多。存储空间占用小 ECC的密钥尺寸和系统参数与RSA、DSA相比要小得多,意味着它所占的存贮空间要小得多。这对于加密算法在IC卡上的应用具有特别重要的意义。带宽要求低 当对长消息进行加解密时,三类密码系统有相同的带宽要求,但应用于短消息时ECC带宽要求却低得多。而公钥加密系统多用于短消息,例如用于数字签名和用于对对称系统的会话密钥传递。带宽要求低使ECC在无线网络领域具有广泛的应用前景。ECC的这些特点使它必将取代RSA,成为通用的公钥加密算法。比如SET协议的制定者已把它作为下一代SET协议中缺省的公钥密码算法。优劣比较播报编辑以上综述了两种加密方法的各自的特点,并对他们优劣处作了一个简要的比较,总体来说主要有下面几个方面:管理方面第一、在管理方面,公钥密码算法只需要较少的资源就可以实现目的,在密钥的分配上,两者之间相差一个指数级别(一个是n一个是n2)。所以私钥密码算法不适应广域网的使用,而且更重要的一点是它不支持数字签名。安全方面第二、在安全方面,由于公钥密码算法基于未解决的数学难题,在破解上几乎不可能。对于私钥密码算法,到了AES虽说从理论来说是不可能破解的,但从计算机的发展角度来看。公钥更具有优越性。速度方面第三、从速度上来看,AES的软件实现速度已经达到了每秒数兆或数十兆比特。是公钥的100倍,如果用硬件来实现的话这个比值将扩大到1000倍。算法方面第四、对于这两种算法,因为算法不需要保密,所以制造商可以开发出低成本的芯片以实现数据加密。这些芯片有着广泛的应用,适合于大规模生产。总结纵观这两种算法一个从DES到3DES再到ADES,一个从RSA到ECC。其发展角度无不是从密钥的简单性,成本的低廉性,管理的简易性,算法的复杂性,保密的安全性以及计算的快速性这几个方面去考虑。因此,未来算法的发展也必定是从这几个角度出发的,而且在实际操作中往往把这两种算法结合起来,也需将来一种集两种算法有点于一身的新型算法将会出现,到那个时候,电子商务的实现必将更加的快捷和安全。流行算法播报编辑目前世界上最流行的几种加密体制和加密算法有:RSA算法和CCEP算法等。为防止破密,加密软件还常采用硬件加密和加密软盘。一些软件商品常带有一种小的硬卡,这就是硬件加密措施。在软盘上用激光穿孔,使软件的存储区有不为人所知的局部存坏,就可以防止非法复制。这样的加密软盘可以为不掌握加密技术的人员使用,以保护软件。由于计算机软件的非法复制,解密及盗版问题日益严重,甚至引发国际争端,因此对信息加密技术和加密手段的研究与开发,受到各国计算机界的重视,发展日新月异。软件保护技术播报编辑序列号保护数学算法一项都是密码加密的核心,但在一般的软件加密中,它似乎并不太为人们关心,因为大多数时候软件加密本身实现的都是一种编程的技巧。但近几年来随着序列号加密程序的普及,数学算法在软件加密中的比重似乎是越来越大了。看看在网络上大行其道的序列号加密的工作原理。当用户从网络上下载某个shareware——共享软件后,一般都有使用时间上的限制,当过了共享软件的试用期后,你必须到这个软件的公司去注册后方能继续使用。注册过程一般是用户把自己的私人信息(一般主要指名字)连同信用卡号码告诉给软件公司,软件公司会根据用户的信息计算出一个序列码,在用户得到这个序列码后,按照注册需要的步骤在软件中输入注册信息和注册码,其注册信息的合法性由软件验证通过后,软件就会取消掉本身的各种限制,这种加密实现起来比较简单,不需要额外的成本,用户购买也非常方便,在互联网上的软件80%都是以这种方式来保护的。软件验证序列号的合法性过程,其实就是验证用户名和序列号之间的换算关系是否正确的过程。其验证最基本的有两种,一种是按用户输入的姓名来生成注册码,再同用户输入的注册码比较,公式表示如下:序列号 = F(用户名)但这种方法等于在用户软件中再现了软件公司生成注册码的过程,实际上是非常不安全的,不论其换算过程多么复杂,解密者只需把你的换算过程从程序中提取出来就可以编制一个通用的注册程序。另外一种是通过注册码来验证用户名的正确性,公式表示如下:用户名称 = F逆(序列号) (如ACDSEE)这其实是软件公司注册码计算过程的反算法,如果正向算法与反向算法不是对称算法的话,对于解密者来说,的确有些困难,但这种算法相当不好设计。于是有人考虑到以下的算法:F1(用户名称) = F2(序列号)F1、F2是两种完全不同的的算法,但用户名通过F1算法计算出的特征字等于序列号通过F2算法计算出的特征字,这种算法在设计上比较简单,保密性相对以上两种算法也要好的多。如果能够把F1、F2算法设计成不可逆算法的话,保密性相当的好;可一旦解密者找到其中之一的反算法的话,这种算法就不安全了。一元算法的设计看来再如何努力也很难有太大的突破,那么二元呢?特定值 = F(用户名,序列号)这个算法看上去相当不错,用户名称与序列号之间的关系不再那么清晰了,但同时也失去了用户名于序列号的一一对应关系,软件开发者必须自己维护用户名称与序列号之间的唯一性,但这似乎不是难以办到的事,建个数据库就可以了。当然也可以把用户名称和序列号分为几个部分来构造多元的算法。特定值 = F(用户名1,用户名2,...序列号1,序列号2...)现有的序列号加密算法大多是软件开发者自行设计的,大部分相当简单。而且有些算法作者虽然下了很大的功夫,效果却往往得不到它所希望的结果。时间限制有些程序的试用版每次运行都有时间限制,例如运行10分钟或20分钟就停止工作,必须重新运行该程序才能正常工作。这些程序里面自然有个定时器来统计程序运行的时间。这种方法使用的较少。Key File 保护Key File(注册文件)是一种利用文件来注册软件的保护方式。Key File一般是一个小文件,可以是纯文本文件,也可以是包含不可显示字符的二进制文件,其内容是一些加密过或未加密的数据,其中可能有用户名、注册码等信息。文件格式则由软件作者自己定义。试用版软件没有注册文件,当用户向作者付费注册之后,会收到作者寄来的注册文件,其中可能包含用户的个人信息。用户只要将该文件放入指定的目录,就可以让软件成为正式版。该文件一般是放在软件的安装目录中或系统目录下。软件每次启动时,从该文件中读取数据,然后利用某种算法进行处理,根据处理的结果判断是否为正确的注册文件,如果正确则以注册版模式来运行。这种保护方法使用也不多。CD-check即光盘保护技术。程序在启动时判断光驱中的光盘上是否存在特定的文件,如果不存在则认为用户没有正版光盘,拒绝运行。在程序运行的过程当中一般不再检查光盘的存在与否。Windows下的具体实现一般是这样的:先用GetLogicalDriveStrings( )或GetLogicalDrives( )得到系统中安装的所有驱动器的列表,然后再用GetDriveType( )检查每一个驱动器,如果是光驱则用CreateFileA( )或FindFirstFileA( )等函数检查特定的文件存在与否,并可能进一步地检查文件的属性、大小、内容等。软件狗软件狗软件狗是一种智能型加密工具。它是一个安装在并口、串口等接口上的硬件电路,同时有一套使用于各种语言的接口软件和工具软件。当被狗保护的软件运行时,程序向插在计算机上的软件狗发出查询命令,软件狗迅速计算查询并给出响应,正确的响应保证软件继续运行。如果没有软件狗,程序将不能运行,复杂的软硬件技术结合在一起防止软件盗版。真正有商业价值得软件一般都用软件狗来保护。平时常见的狗主要有“洋狗”(国外狗)和“土狗”(国产狗)。这里“洋狗”主要指美国的彩虹和以色列的HASP,“土狗”主要有金天地(现在与美国彩虹合资,叫“彩虹天地”)、深思、尖石。总的说来,“洋狗”在软件接口、加壳、反跟踪等“软”方面没有“土狗”好,但在硬件上破解难度非常大;而“土狗”在软的方面做的很好,但在硬件上不如“洋狗”,稍有单片机功力的人,都可以复制。软盘加密通过在软盘上格式化一些非标准磁道,在这些磁道上写入一些数据,如软件的解密密钥等等。这种软盘成为“钥匙盘”。软件运行时用户将软盘插入,软件读取这些磁道中的数据,判断是否合法的“钥匙盘”。软盘加密还有其它一些技术,如弱位加密等等。随着近年来软盘的没落,这种方法基本上退出了历史舞台。将软件与机器硬件信息结合用户得到(买到或从网上下载)软件后,安装时软件从用户的机器上取得该机器的一些硬件信息(如硬盘序列号、BOIS序列号等等),然后把这些信息和用户的序列号、用户名等进行计算,从而在一定程度上将软件和硬件部分绑定。用户需要把这一序列号用Email、电话或邮寄等方法寄给软件提供商或开发商,软件开发商利用注册机(软件)产生该软件的注册号寄给用户即可。软件加密虽然加密强度比硬件方法较弱,但它具有非常廉价的成本、方便的使用方法等优点。非常适合做为采用光盘(CDROM)等方式发授软件的加密方案。此种加密算法的优点:· 不同机器注册码不同。用户获得一个密码只能在一台机器上注册使用软件。不同于目前大多软件采用的注册方法,即只要知道注册码,可在任何机器上安装注册。· 不需要任何硬件或软盘· 可以选择控制软件运行在什么机器、运行多长时间或次数等· 可让软件在不注册前的功能为演示软件,只能运行一段时间或部分功能。注册后就立即变为正式软件· 采用特别技术,解密者很难找到产生注册号码的规律· 在使用注册号产生软件(注册机)时可采用使用密码、密钥盘、总次数限制等方法· 方便易用,价格低廉。这种加密还有以下特点:1、注册加密的软件,只能在一台机器上安装使用。把软件拷贝到其它机器上不能运行。2、若用户想在另一机器上安装运行,必须把软件在这一机器上运行时的序列号,寄给软件出版商换取注册密码。当然应再交一份软件费用。3、此加密方法特别适应在因特网上发布的软件及用光盘发布的软件。新手上路成长任务编辑入门编辑规则本人编辑我有疑问内容质疑在线客服官方贴吧意见反馈投诉建议举报不良信息未通过词条申诉投诉侵权信息封禁查询与解封©2024 Baidu 使用百度前必读 | 百科协议 | 隐私政策 | 百度百科合作平台 | 京ICP证030173号 京公网安备110000020000

什么是加密?| IBM

什么是加密?| IBM

什么是加密?

深入了解 IBM 加密解决方案

什么是加密?

加密是开发和使用编码算法来保护和隐藏传输信息的做法,以便只有拥有解密权限和能力的人才能读取这些信息。换句话说,加密隐藏了通信,使得未经授权的各方无法访问它们。

在我们的现代数字时代,加密已成为保护敏感信息免受黑客和其他网络罪犯侵害的重要网络安全工具。

加密源自希腊语“kryptos”,意思是“隐藏”,字面意思是“隐藏的书写”。当然,它可以用来隐藏任何形式的数字通信,包括文本、图像、视频或音频。实际上,加密主要用于将消息转换为不可读的格式(称为密文),只有授权的预期接收者通过使用特定的密钥才能将其解密为可读的格式(称为明文)。

密码学包括加密技术和密码分析,深深植根于计算机科学和高等数学。加密技术的历史可以追溯到公元前一世纪的远古时代,当时恺撒大帝 (Julius Caesar) 创造了凯撒密码,用于向传递消息的信使掩盖消息内容。如今,美国国家标准技术研究所 (NIST) 等组织仍在继续制定数据安全加密标准。

电子书

加密:保护企业最关键的数据

了解加密技术如何帮助保护数据免受威胁并满足合规要求。

相关内容

订阅 IBM 时事通讯

现代加密的核心原则

随着时间的推移,现代加密已经变得更加先进。但是,总体思路保持不变,并围绕四个主要原则融为一体。

保密性:加密信息仅供其预定接收者浏览,其他人均无法查看。

完整性:加密信息在存储过程中或在发送者和预期接收者之间传输时无法被修改,不会检测到任何更改。

不可否认性:加密信息的创建者/发送者不能否认他们发送信息的意图。

身份验证:确认发送者和接收者的身份,以及信息的来源和目的地。

为什么加密很重要

在当今的数字环境中,加密在我们的日常生活中发挥着至关重要的作用,可确保类似信用卡号、电子商务交易甚至 WhatsApp 消息等敏感数据保持机密和安全。

从宏观层面来看,先进的加密对于维护国家安全、保护机密信息免受潜在威胁行为者和对手的侵害至关重要。

加密的常见用途

以下是一些最常见的加密用例。

密码

加密经常用于验证密码的真实性,同时隐藏存储的密码。通过这种方式,服务可以验证密码,而无需保留可能容易受到黑客攻击的所有密码的明文数据库。

加密货币

比特币和以太坊等加密货币建立在复杂的数据加密之上,需要大量的计算能力才能解密。通过这些解密过程,新硬币被“铸造”并进入流通。加密货币还依靠先进的加密来保护加密钱包、验证交易和防止欺诈。

安全的网页浏览

浏览安全网站时,加密可保护用户免遭窃听和中间人 (MitM) 攻击。安全套接字层 (SSL) 和传输层安全 (TLS) 协议依靠公钥加密来保护 Web 服务器和客户端之间发送的数据并建立安全的通信渠道。

电子签名

电子签名用于在线签署重要文档,并且通常受法律强制执行。通过加密创建的电子签名可以进行验证,防止欺诈和伪造。

身份验证

在需要进行身份验证的情况下,例如登录在线银行账户或访问安全网络,加密可以帮助确认和验证用户的身份,并验证其访问权限。

安全通信

无论是共享国家机密还是只是进行私人对话,端到端加密都可用于消息身份验证,保护视频对话、即时消息和电子邮件等双向通信。端到端加密为用户提供了高水平的安全性和隐私性,并广泛应用于 WhatsApp 和 Signal 等通信应用程序中。

加密的类型

目前使用的加密主要有两种类型:对称加密和非对称加密。这两种类型都使用密钥来加密和解密发送和接收的数据。还有将两者结合在一起的混合密码系统。

如果各方(发送者和接收者)使用相同的密钥来加密和解密数据,则加密系统被认为是对称的。高级加密标准 (AES) 和数据加密标准 (DES) 等算法是对称系统。

非对称加密使用多个密钥 – 一些是共享的,一些是私有的。这样,加密消息的发送者和接收者拥有不对称密钥,系统也是不对称的。RSA(以其前身 Rivest、Shamir 和 Adleman 命名)是最常见的公钥加密算法之一。

虽然非对称系统由于使用私钥而通常被认为更安全,但系统强度的真正衡量标准更多地取决于密钥长度和复杂性。

对称加密

对称密钥加密使用共享的单个密钥进行加密和解密。在对称加密中,加密消息的发送者和接收者都可以访问相同的密钥。

恺撒密码是单密钥系统的早期例子。这种原始密码的工作原理是将消息中的每个字母向前移动三个字母,这会将单词“cat”变成“fdw”(尽管恺撒可能会使用拉丁语“cattus”)。既然恺撒的将军们知道密钥,他们只需逆转移位就能解读信息。这样,对称密码系统要求各方在加密、发送和解密任何信息之前都可以访问密钥。

对称加密的一些主要特性如下:

速度:加密过程相对较快。

效率:单密钥加密非常适合大量数据,并且需要较少的资源。

保密:对称加密可有效保护数据,并防止任何没有密钥的人解密信息。

非对称加密

非对称加密(也称为公钥加密)使用一个私钥和一个公钥。使用公钥和私钥加密的数据需要公钥和接收者的私钥才能解密。

公钥加密技术可以通过不安全的介质进行安全密钥交换,而无需共享秘密解密密钥,因为公钥仅用于加密过程,而不用于解密过程。通过这种方式,非对称加密增加了额外的安全层,因为个人的私钥永远不会被共享。

对称加密的一些主要特性如下:

安全性:人们普遍认为非对称加密更安全。

强大:公钥加密具有额外的好处,可提供机密性、真实性和不可否认性。

资源密集型:与单密钥加密不同,非对称加密速度缓慢且需要更多资源,在某些情况下可能非常昂贵。

加密密钥和密钥管理

加密密钥对于安全使用加密算法至关重要。密钥管理是加密的一个复杂方面,涉及密钥的生成、交换、存储、使用、销毁和替换。Diffie-Hellman 密钥交换算法是一种用于通过公共渠道安全交换加密密钥的方法。非对称密钥加密是密钥交换协议中的关键组件。

与使用移位罗马字母作为密钥的凯撒密码不同,现代密钥要复杂得多,通常包含 128、256 或 2,048 位信息。高级加密算法利用这些位将明文数据重新排列并加密为密文。随着位数的增加,数据的总可能排列数量呈指数级增长。凯撒密码使用的位数很少,通过简单地尝试加扰密文的所有可能排列,直到整条消息转换为可读的明文,计算机很容易解密(即使没有密钥)。黑客称这种技术为暴力攻击。

添加更多位会使暴力攻击难以计算。虽然当今最强大的计算机可以在 399 秒内暴力破解 56 位系统,但 128 位密钥需要 1.872 x 1037 年。256 位系统需要 3.31 x 1056 年。作为参考,整个宇宙被认为只存在了 137 亿年,这还不到暴力破解 128 位或 256 位密码系统所需时间的百分之一。

加密算法和加密方法

加密算法是密码系统的一个组件,用于将数据转换为密文。类似 AES 这样的分组密码对固定大小的数据块进行操作,使用对称密钥进行加密和解密。相反,流密码一次加密一位数据。

数字签名和哈希函数

数字签名和哈希函数用于验证和确保数据完整性。使用加密技术创建的数字签名提供了一种没有争议的方法,可确保消息的发送者无法否认其在文档上签名的真实性。

哈希函数,如安全哈希算法 1 (SHA-1),可以将输入转换为固定长度的字符串,该字符串对于原始数据来说是唯一的。该哈希值使得在计算上无法找到可以产生相同输出哈希的两个不同输入,从而有助于验证数据的完整性。

加密的未来

为了跟上先进的技术和日益复杂的网络攻击的步伐,加密领域不断发展。量子加密和椭圆曲线加密 (ECC) 等下一代高级协议代表了加密技术的前沿。

椭圆曲线加密

椭圆曲线加密 (ECC) 被认为是下一代的主要焦点之一,是一种基于椭圆曲线理论的公钥加密技术,可以创建更快、更小、更高效的加密密钥。

传统的非对称密码系统虽然安全,但难以扩展。它们需要大量资源,并且在应用于大量数据时会变得非常缓慢。此外,尝试提高公钥密码系统的安全性以逃避日益强大的攻击将需要增加公钥和私钥的位长,这将大大减慢加密和解密过程。

第一代公钥密码系统建立在乘法和因式分解的数学函数之上,其中公钥和私钥揭示了加密明文和解密密文所需的特定数学函数。这些密钥是通过质数相乘得到的。ECC 使用椭圆曲线(可以在图表上表示为曲线的方程)根据折线图上的不同点生成公钥和私钥。

在我们越来越依赖计算能力较低的设备(例如手机)的世界中,ECC 提供了一种基于椭圆曲线晦涩数学的优雅解决方案,可以生成更难以破解的更小密钥。

ECC 相对于以前的公钥密码系统的优势是无可争议的,并且它已经被美国政府、比特币和 Apple 的 iMessage 服务所采用。虽然 RSA 等第一代系统对于大多数设置仍然有效,但 ECC 有望成为在线隐私和安全的新标准,尤其是在量子计算的巨大潜力浮出水面的情况下。虽然量子计算机仍处于起步阶段,具有难以构建、编程和维护的特征,但计算能力的潜在增长将使所有已知的公钥加密系统变得不再安全,因为理论上量子计算机可以比经典计算机更快地实现强力攻击。

量子加密

量子加密利用量子力学原理来保护数据,从而不受传统密码系统许多漏洞的影响。与依赖数学原理的其他类型的加密不同,量子加密基于物理学,以理论上完全不受黑客攻击的方式保护数据。由于量子态在不改变的情况下不可能被观察到,因此任何秘密访问量子编码数据的尝试都将立即被识别。

量子加密最初是在 1984 年提出理论,其功能是使用通过光纤电缆发送的光子光粒子在发送者和接收者之间共享私钥。该光子流沿单一方向传播,每个光子代表一位数据,即 0 或 1。发送者一侧的偏振滤光器将每个光子的物理方向更改为特定位置,接收者使用两个可用的分光镜来读取每个光子的位置。发送者和接收者将发送的光子位置与解码的位置进行比较,匹配的集合就是密钥。

与传统加密技术相比,量子加密具备多项优势,因为它不依赖于可解的数学方程来确保加密数据的安全。该技术还可以防止窃听,因为量子数据在不被更改的情况下无法读取,并且量子加密还可以与其他类型的加密协议出色集成。此类加密技术使用户能够以数字方式共享在传输过程中无法复制的专用加密密钥。一旦共享此密钥,即可将其用于加密和解密更多消息,而这种方式几乎没有泄露风险。

然而,量子加密也面临着许多尚未解决的挑战和限制,目前阻碍了量子加密的实际应用。由于量子计算尚未从概念证明过渡到实际应用,量子加密仍然容易因质子极化的意外变化而出错。量子加密还需要特定的基础设施。光纤线路是传输质子所必需的,并且其范围有限,通常约为 248 至 310 英里,计算机科学研究人员正在努力扩大这一范围。此外,量子加密系统受到可以发送数据的目的地数量的限制。由于这些类型的系统依赖于独特光子的特定方向,因此它们无法在任何给定时间向多个预期接收者发送信号。

相关解决方案

IBM 加密解决方案

在混合多云环境中访问、存储和传输贵组织的敏感数据时,需要对其进行特殊保护,以确保数据安全。IBM 加密解决方案将技术、咨询、系统集成和托管安全服务相结合,帮助确保加密敏捷性、量子安全以及可靠的治理和风险策略。

深入了解 IBM 加密解决方案

IBM PCIe Cryptographic Coprocessor

IBM PCIe Cryptographic Coprocessor 是一系列高性能硬件安全模块 (HSM)。这些可编程 PCIe 卡与某些 IBM Z®、x64 和 IBM Power® 服务器配合使用,从主机服务器卸载计算密集型加密流程,例如安全支付或交易。

深入了解 IBM PCIe Cryptographic Coprocessor

IBM Quantum Safe 技术

IBM Quantum Safe 技术是一套全面的工具、功能和方法,用于保护您的企业的量子未来。使用 IBM Quantum Safe 技术取代有风险的加密技术,保持对整个网络安全态势的持续可见性和控制。

深入了解 IBM Quantum Safe 技术

资源

相关主题

什么是加密?

数据加密是一种将数据从明文(未加密)转换为密文(加密)的方法。用户可以使用加密密钥访问加密数据,使用解密密钥访问解密数据。

相关主题

什么是量子安全加密?

量子安全加密可保护量子计算时代的敏感数据、访问和通信。

相关主题

什么是数据安全?

数据安全是一种实践,用于保护数字信息在整个生命周期中免遭未经授权访问、损坏或盗窃。这个概念涵盖了信息安全的各个方面,从硬件和存储设备的物理安全到管理和访问控制,以及软件应用程序的逻辑安全。

播客

量子难题:研究人员如何消除超级计算机安全问题

在本集“深入漏洞”中,Walid Rjaibi 博士分享了他对量子安全的看法,并向我们深入介绍了它带来的安全风险、研究人员如何应对该风险,以及政策可以(或应该)如何转变以实现标准化。

博客文章

使用量子安全加密技术保护 IBM Cloud 上的应用程序

当大规模量子计算机可用时,它们会带来潜在风险,即它们将能够破坏当前使用中的基于公钥加密构建的系统。

相关主题

什么是端到端加密?

端到端加密 (E2EE) 是一种安全通信过程,可防止第三方访问从一个端点传输到另一个端点的数据。

采取下一步行动

IBM 加密解决方案可以帮助您的组织保护数据,并增强隐私和法规一致性。预约 30 分钟的免费一对一咨询,了解有关 IBM 加密解决方案的更多信息。

预约咨询会议

探索密码技术解决方案

什么是加密? 数据加密定义 | IBM

什么是加密? 数据加密定义 | IBM

什么是加密? 数据加密定义 

数据加密是一种将数据从明文(未加密)转换为密文(加密)的方法。 用户可以使用加密密钥访问加密数据,使用解密密钥访问解密数据。

保护您的数据

大量敏感信息在云端或连接的服务器上在线管理和存储。 加密使用网络安全来防御恶意软件和勒索软件等暴力破解和网络攻击。 数据加密的工作原理是保护云端和计算机系统上传输的数字数据。 有两种数字数据,一种是传输的数据(也称为动态数据),另一种是存储的数字数据(也称为静态数据)。

现代加密算法已取代过时的数据加密标准以保护数据。 这些算法保护信息并推动安全计划,包括完整性、认证和不可抵赖性。 这些算法首先对消息进行认证以验证来源。 接下来, 算法将检查完整性,以验证内容是否未被更改。 最后,不可抵赖性防止发送方否认发送过消息。

数据加密类型:非对称与对称

有几种不同的加密方法,每种方法都考虑到了不同的安全性和安全性需求。 数据加密主要有两种方法:非对称加密和对称加密。

非对称加密方法:

非对称加密,也称为公钥加密,使用两个单独的非对称加密密钥来加密和解密数据。 我们将这两个密钥称为“公钥”和“私钥”。

常见的非对称加密方法:

RSA:RSA 以计算机科学家 Ron Rivest、Adi Shamir 和 Leonard Adleman 的名字命名,是一种流行算法,分别使用公钥加密数据和私钥解密数据,从而保证数据传输安全。

公钥基础设施 (PKI):PKI 是一种通过颁发和管理数字证书来管理加密密钥的方法。

 

对称加密方法:

对称加密仅使用一个对称密钥来加密明文和解密密文。

常见的对称加密方法:

数据加密标准 (DES):DES 是一种低级加密分组密码算法,它将纯文本转换为 64 位块,并使用 48 位密钥将 64 块位转换为密文。 

三重 DES:三重 DES 通过加密、解密、再加密数据来进行三次 DES 加密。

高级加密标准 (AES):AES 通常被称为数据加密的黄金标准,作为美国政府标准在全球范围内使用。

Twofish:Twofish 被认为是最快的一种加密算法,可以免费使用。

探索非对称与对称加密

数据加密的好处

随着越来越多的组织转向混合和多云环境,人们越来越关注公共云安全以及在不同复杂环境中的数据保护问题。 企业内的数据加密和加密密钥管理有助于保护本地和云上的数据。

云服务提供商 (CSP) 可能要负责云自身的安全,但客户要负责云上内容的安全,特别是数据安全。 组织的敏感数据必须受到保护,同时允许授权用户执行其工作职能。 这种保护不仅仅是加密数据,还应提供强大的加密密钥管理、访问控制和审计日志记录功能。

健全的数据加密和密钥管理解决方案应提供:

用于数据加密和加密密钥策略和配置的集中式管理控制台

在文件、数据库和应用程序级别对本地和云数据进行加密

基于角色和基于组的访问控制和审核日志记录,以帮助解决合规问题

本地和云加密密钥的自动化密钥生命周期流程

了解面向未来的数据

有效的数据加密

全新同态加密工具包

IBM © 将 11 年的密码学研究整合为一个精简版全同态加密 (FHE) 工具包,适用于 Mac OS 和 iOS。

看看接下来会发生什么

IBM Blockchain Platform 2.5

新推出的 IBM Blockchain Platform 2.5 多方网络包含旨在改进 IBM Blockchain Platform 的最新创新。

探索 IBM 平台

IBM Z 增强功能

IBM z15™ 的 IBM Fibre Channel Endpoint Security 通过普遍加密技术帮助保护传输中的数据,无需耗费财力更改应用。

阅读博客

相关解决方案

数据加密解决方案

采用以数据为中心的安全解决方案和服务,保护企业数据并满足监管合规的要求

探索数据加密解决方案

普遍加密解决方案

使用 IBM 加密技术加密数据将确保您的数据受到保护,即使发生数据泄露您的数据也可安全无虞。

探索普遍加密

保护敏感数据

IBM Data Privacy Passports 在数据从其源跨混合多云流动时通过策略来保护敏感数据和维护隐私。

探索 IBM Data Privacy Passports

数据加密和密码服务

IBM Cryptographic Services 保护敏感数据并保持对敏感数据的完全控制。

探索 IBM Cryptographic Services

企业密钥管理

IBM Enterprise Key Management Foundation (EKMF) 是一套高度安全、灵活的企业密钥管理系统。

探索 IBM Enterprise Key Management

数据加密软件

IBM Security Guardium data Encryption 是一个基于通用基础架构构建的集成产品套件,可用于保护您的文件和数据库数据免遭误用。

探索 Guardium Data Encryption 软件

数据安全解决方案

使用 IBM Cloud Pak 可保护您的数据、满足隐私法规要求并简化操作复杂性以确保安全。

探索数据安全解决方案

闪存储存解决方案

使用统一的 IBM FlashSystem® 平台系列简化数据和基础架构管理,从而简化在本地、混合云、虚拟化和容器化环境中的管理和操作复杂性。

探索闪存存储解决方案

资源

X-Force 威胁情报指数

借助威胁态势的全局视图,了解您面临的网络攻击风险。

数据泄露成本

数据泄露成本报告探讨数据泄露造成的财务影响和相应的安全措施,帮助您的组织防止数据泄露或在发生数据泄露时降低成本。

实施安全性让您的客户受益

详细了解最新的 Forrester Consulting 研究报告:实施安全性让您和您的客户受益匪浅。

维护数据保护

了解如何将加密应用到数据生命周期的各个阶段,以实现全面数字协作和数据共享。

安全情报和数据保护

深入了解 CCPA 和 GDPR 合规性、数据保护和隐私问题。

IBM 研究正在改变世界

IBM 处于研究和开拓的前沿,在 6 大洲的 12 个实验室拥有 3000 多名研究人员。

什么是文件传输?

文件传输实现了在本地和远程的用户和计算机之间共享、传输和转换文件和数据。

国际商业银行

阅读了解国际商业银行如何通过 IBM Security® 解决方案和咨询服务实现数字安全现代化,从而为企业创建高度安全的环境。

加密技术 - 知乎

加密技术 - 知乎首页知乎知学堂发现等你来答​切换模式登录/注册加密技术加密技术,是电子商务采取的主要安全保密措施,是最常用的安全保密手段,利用技术手段把重要的数据变为乱码(加密)传送,到达目的地后再用相同或不同的手段还原(解密)。包括两个元素:算法和密钥。...查看全部内容关注话题​管理​分享​百科讨论精华视频等待回答简介加密技术,是电子商务采取的主要安全保密措施,是最常用的安全保密手段,利用技术手段把重要的数据变为乱码(加密)传送,到达目的地后再用相同或不同的手段还原(解密)。包括两个元素:算法和密钥。更多信息中文名加密技术两个元素算法和密钥技术对称密码编码技术应用电子商务数据由搜狗百科提供查看百科全文 ​百科摘录3花无涯带你走进黑客世界18 加密算法下的内容摘录花无涯加密技术是最常用的安全保密手段,利用技术手段把重要的数据变为乱码(加密)传送,到达目的地后再用相同或不同的手段还原(解密)。加密技术包括两个元素:算法和算法是将普通的信息或者可以理解的信息与一串数字)结合,产生不可理解的密文的步骤,密钥是用来对数据进行编码和解密的一种算法。在安全保密中,可通过适当的钥加密技术和管理机制来保证网络的信息通信安全。知乎小知 摘录于 2020-04-24云计算安全之数据加密下的内容摘录新睿云服务器新睿云-让云服务触手可及加密技术就是用来保护数据在存储和传输(链路加密技术)过程中的安全性,对做存储的技术人员来说,平常遇到的加密方案和技术主要是存储后端支持加密,如加密盘或存储加密。但加密技术从数据加密位置一般分为应用层加密(如备份软件,数据库),网关层加密(如加密服务器,加密交换机等),存储系统加密和加密硬盘技术。知乎小知 摘录于 2020-04-24数字货币概念的长逻辑推演下的内容摘录公子豹精选上市公司上游环节,加密技术是数字货币的关键基础设施,贯穿货币交易的全过程。数字货币关乎国计民生,网络信息安全行业需求将升级。 中游环节,数字货币规则已定,银行IT系统更新需求。央行数字货币采取“双层运营”框架,银行的核心系统、认证系统、数字货币钱包将面临大量的新建和改造需求。知乎小知 摘录于 2020-04-24浏览量380 万讨论量2575  帮助中心知乎隐私保护指引申请开通机构号联系我们 举报中心涉未成年举报网络谣言举报涉企虚假举报更多 关于知乎下载知乎知乎招聘知乎指南知乎协议更多京 ICP 证 110745 号 · 京 ICP 备 13052560 号 - 1 · 京公网安备 11010802020088 号 · 京网文[2022]2674-081 号 · 药品医疗器械网络信息服务备案(京)网药械信息备字(2022)第00334号 · 广播电视节目制作经营许可证:(京)字第06591号 · 服务热线:400-919-0001 · Investor Relations · © 2024 知乎 北京智者天下科技有限公司版权所有 · 违法和不良信息举报:010-82716601 · 举报邮箱:jubao@zhihu.

信息加密技术的原理是什么? - 知乎

信息加密技术的原理是什么? - 知乎首页知乎知学堂发现等你来答​切换模式登录/注册加密原理加密技术信息加密技术的原理是什么?关注者17被浏览3,563关注问题​写回答​邀请回答​好问题 1​添加评论​分享​6 个回答按时间排序知乎用户(一)密码技术密码技术主要是为了维护用户自身利益,对资源采取防护措施,防止非法用户侵用和盗取,或即使非法用户侵用和盗取了资源,也由于无法识别而不能使用。密码技术分加密和解密两部分。1.加密:改变数据的表现形式,是把需要加密的报文按照以密钥为参数的函数进行转换,产生密码文件。2.解密:按照密钥参数将密码文件还原成原文件。(二)密码算法目前加密算法主要有秘密钥匙(secret key)和公用钥匙(public key)加密算法。1.秘密钥匙加密法(对称式、传统加密法)特点是加密明文和解读密文时使用的是同一把钥匙。2.公用钥匙加密法(非对称式加密)特点是完成一次加密和解密操作时,需要使用一对钥匙(非同一把秘钥)。非对称式加密的加密和解密密钥不同,加密和解密使用的是两个不同的密钥,即公开密钥和私有密钥。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。假定这两个钥匙分别为A和B,则用A加密明文后形成的密文,必须用B方可解回明文;反之,用B加密后形成的密文必须用A解密。(三)加密方式加密方式主要包括通信加密和文件加密。1.通信加密包括节点加密、链路加密、端对端加密;2.文件加密包括:(1)单级数据信息加密(2)多级数据信息加密(四)Internet中使用的密码技术PGP是一种e-mail安全的免费软件,实现的安全机制有数字签名、密钥管理、加密和完整性,它提供安全服务有保密性、信息来源证明、信息完整性、信息来源的无法否认。SSL是Web安全中的密码技术,是建立在TCP/IP协议之上的提供客户机和服务器双方网络应用通信的开放协议,它由SSL记录协议和SSL握手协议组成。SSL握手协议在SSL记录协议发送数据之前建立安全机制,包括认证、数据加密和数据完整性。实现通信双方之间认证、连接的保密性、数据完整性、数据源点认证等安全服务。 SHTTP是增强HTTP安全的一种新协议,即将成为一项新的IETF标准(RFC)。编辑于 2023-11-21 20:16​赞同​​添加评论​分享​收藏​喜欢收起​苏苏苏的酥热爱生活​ 关注信息加密技术的原理是基于密码学的理论,在信息传输和存储的过程中,对敏感信息进行加密处理,将信息从原始形式(明文)转化为另一种形式(密文),从而隐藏信息的真实含义,以保证信息的机密性、完整性和可靠性。其基本原理包括三个方面:1. 加密算法:是信息加密的核心,包括对称加密算法和非对称加密算法两种。对称加密算法是指加密密钥和解密密钥相同的加密方式,它的运算速度快、加密效率高,但密钥管理和分发较为困难;而非对称加密算法则采用公钥和私钥来进行加密和解密,即所谓的“公钥加密、私钥解密”,解决了对称加密密钥分发的问题,但加密解密的速度较慢。2. 密钥管理:在信息加密的过程中,密钥的安全性至关重要,因此需要实现密钥的保证性,比如密钥生成、密钥共享、密钥分配、密钥存储等。密钥管理是保证加密算法有效性的基础。3. 信息加密方式:信息加密方式包括块加密方式和流加密方式,块加密是按照固定长度(块大小)进行分组,通过加密算法对每个块进行加密;流加密则是按照比特流的方式一个一个地进行加密。总的来说,信息加密技术的核心在于有效地保护敏感信息的安全,并且在传输和存储的过程中,通过加密算法及其密钥管理方式来完成信息加密的操作,实现信息机密性、完整性和可靠性的保护,保证信息在传输和存储的过程中不被窃取、篡改或损坏。这里有一个新一代的博客平台【WRITE- BUG数字空间】,它是一款非常适合个人和小团队进行知识管理的工具。它提供多人即时聊天的聊天大厅、云文档、代码质量评估系统的代码托管、pdf/paper/源码/网页内 易批注的云批注笔记等插件服务,功能十分完善。(1)新一代博客平台,可以全新的创作和管理体验;颜值最高的博客平台;新时代学生用WRITE-BUG;(2)QQ群、微信群,内部分享文件的好去处:WRITE-BUG云频道,超大空间、在线预览、协同编辑;新一代的“轻社交”平台,专业做大学生交流!(3)代码托管不用翻墙、不用魔法,不需要学习GIT命令,直接上传/下载代码,支持GIT版本管理、内置代码质量评估,一键为代码体检此外,您还可以加入自己感兴趣的“数字空间”(学习圈),直接开聊、参与讨论。WRITE-BUG数字空间用户体验极好,可以按需自由选择组合,是程序员同学必备的一款工具。发布于 2023-05-17 14:30​赞同​​添加评论​分享​收藏​喜欢收起​7 个回答被折叠(为什

加密技术在哪些领域中得到了广泛应用? - 知乎

加密技术在哪些领域中得到了广泛应用? - 知乎首页知乎知学堂发现等你来答​切换模式登录/注册技术领域加密技术加密技术在哪些领域中得到了广泛应用?关注者3被浏览160关注问题​写回答​邀请回答​好问题​添加评论​分享​2 个回答默认排序厦门科易网科技有限公司​已认证账号​ 关注数字时代,网络安全已经成为我们日常生活中不可或缺的一部分。加密技术是一种通过对信息进行编码和解码的方式来保护数据的安全性和完整性,可以应用于各个领域,包括网络通信、数据存储、身份验证、数字签名、金融交易、数字版权保护、软件保护等。技术应用示例:1、混沌序列加密技术在保密通信中的应用建立了以混沌理论为基础的、具有自主知识产权的数据安全防御系统,使基于混沌理论开发的数据安全系统实用化。利用混沌输出对初始条件的极端敏感性,构造一个既随机又可控的伪随机混沌序列,同时加密速度快,解密数量大。利用混沌序列及“多进制序列”进行数字加密,在与传统的二进制混沌序列加密算法兼容的同时,可实时完成任意长度中、英文文本加密,使加密数据安全性高、抗干扰性强。根据Lyapunov稳定性定理,使用观测器法实现混沌异结构同步;对于给定的不同信号用混沌遮掩,混沌键控,混沌参数调制三种方法实现保密传输,在混沌参数调制方法中提出了提取能量均值解调有用信息的方法。2、基于透明加密技术的新一代信息防泄密软件研发本项目主要研究如何系统、全面的构筑一个多级立体化信息安全防御体系;综合利用透明加解密技术、认证技术、文档安全管理技术、存储安全管理技术等实现全方位的信息安全保护;在文件流转的各个环节,提供全生命周期的安全保护。利用透明加解密技术,对产生的敏感涉密信息实时加密,从源头上确保信息的安全性。利用多因素认证技术,有效的划分涉密文件的级别与访问控制,避免越权访问与泄密的发生。利用文档安全管理技术,保护涉密文件的存放安全。利用存储安全管理技术,保证数据的可靠性、完整性、唯一性。利用文件外发安全管理系统,实现对于第三方交互的文件的安全性。发布于 2024-01-16 11:25​赞同​​添加评论​分享​收藏​喜欢收起​云驿站计算机干货分享,Aigcfox工具箱应用分享​ 关注大家好,我是AI先锋~加密技术可以应用于多个领域,以确保信息的安全性和隐私性。以下是一些主要领域,其中加密技术被广泛采用:网络安全:在互联网上传输的数据(如电子邮件、文件、在线聊天等)可能会被截获,因此需要使用加密技术来保护这些数据。电子商务:在线购物和金融交易需要确保支付信息(如信用卡号码、密码等)的安全,加密技术可以保护这些敏感信息。移动通信:手机通话和数据传输(如短信、应用数据等)可以使用加密技术来防止监听和数据泄露。云计算:云存储和云计算服务需要保护用户数据的隐私,加密技术可以帮助实现这一目标。数据存储:本地或远程存储的数据(如硬盘、USB驱动器、云存储等)可以通过加密来防止未授权访问。身份认证:加密技术可以用于保护用户密码和身份信息,确保只有验证用户才能访问系统。数字签名:在法律和商业文档中,数字签名用于确保文档的完整性和不可否认性。VPN和远程访问:虚拟私人网络(VPN)使用加密技术来保护远程连接,确保数据传输的安全。政府机构:政府和军事机构使用加密技术来保护机密信息,防止间谍活动和内部威胁。健康医疗:患者的医疗记录和敏感信息可以通过加密技术来保护,确保隐私和合规性。物联网(IoT):随着越来越多的设备连接到互联网,加密技术对于保护这些设备收集和传输的数据至关重要。软件开发:软件代码和开发过程中的信息可以通过加密来防止被窃取或篡改。媒体和娱乐:版权保护、内容分发和媒体播放过程中的数据保护也需要加密技术。企业通信:企业内部和外部的通信(如视频会议、团队协作工具等)可以通过加密来确保信息的安全。安全审计和合规性:为了满足各种法规和标准,组织需要使用加密技术来保护数据,并确保其安全实践符合规定。AigcFox工具箱--主流自媒体平台视频、图文内容一键发布。视频、图片自动裂变n份并去重。多账号自动发布,模拟人工操作,无人值守。账户绑定上网卡或手机共享网络,可实现发布IP隔离。AI内容:可对文章、图片改写、润色、增强。随着技术的发展和网络安全威胁的演变,加密技术的应用领域将继续扩展,成为保护信息不可或缺的一部分。发布于 2023-12-26 10:06​赞同​​添加评论​分享​收藏​喜欢收起​​写回答1 个回答被折叠(为什