关于加密解密签名等基础知识

一、各种概念、技术和用途

主要概念:加密解密算法、消息摘要、数字签名、数字证书

1、加密解密算法

  • 对称加密算法:DES、TripleDES/3DES、AES|RC4、RC5|
  • 非对称加密算法:DSA、RSA、ECC

2、消息摘要

  • 消息摘要算法包含MD、SHA和MAC共3大系列,常用于验证数据的完整性,是数字签名算法的核心算法;
  • MAC算法是综合了MD和SHA算法;主要包括HmacMD5、HmacSHA1、HmacSHA256、HmacSHA384、HmacSHA512
  • MAC算法结合了MD5和SHA算法的优势,并加入密钥的支持,是一种更为安全的消息摘要算法。
  • 消息摘要算法,只能防止数据被纂改,但是无法防抵赖;

3、数字签名

  • 数字签名算法是非对称加密算法和消息摘要算法的结合体。
  • 数字签名算法在实际运用时,通常是先使用消息摘要算法对原始消息做摘要处理,然后再使用私钥对摘要值做签名处理;
  • 签名算法受私钥控制,且有签名者保密;
  • 验证算法受公钥控制,且对外公开。
  • 签名者任何时候都无法否认自己曾经签发的数字签名;
  • 信息接收者能够验证和确认收到的数字签名,任何人无法伪造信息发送者的数字签名;
  • 数字签名算法,如:SHA1WithRSA、SHA256WithRSA

4、数字证书

  • 密钥很可能会以二进制方式存储于文件中,由程序来读取。
  • X509EncodedKeySpec用于构建公钥规范;PKCS8EncodedKeySpec用于构建私钥规范;需要通过这两个类将密钥文件中的字节数组读出转换为密钥对象;
  • 把密钥库看做私钥相关操作的入口,数字证书则是公钥相关操作的入口;
  • 通常用Base64来对密钥文件进行编码,方便阅读
  • 数字证书,主要是用来证明公钥就是某个机构的;以HTTPS为例,目前很多网站会给我们公钥,我们加密我们的数据之后,将数据发给他们。如果我们拿到的公钥是非法机构的话,那么非法机构就可以获取我们的信息;因此,给我们公钥相当于给了我们一把锁,但是我们不知道持有钥匙的是好人还是坏人;但是如果这把锁是CA给的,那我们就信任持有开锁钥匙的一定是个好人,如果我们被骗了,那就找CA的麻烦;

5、Base64

在计算机的世界里,密钥就是一段二进制的数据。二进制形式虽然安全性很高,但是却大大降低了它的可读性。
通常是使用Base64编码对密钥文件做一下编码,增加可读性;

二、各种疑问

Q1:数据完整性机制,譬如SHA和MD5,跟防纂改的数字签名有什么关系?

消息摘要===>防纂改
数字签名===>防纂改 + 防伪造防抵赖

Q2:用Hmac来做防纂改,和直接用MD5或者SHA来做防纂改,有什么区别?

Hmac使用起来复杂一点,因为需要密钥,但更安全一点;
因为现在各种彩虹表,已经使得MD5或者SHA变得可以反解了~

Q3:数字签名和加密解密的区别?

数字签名是对已有的数据做签名,生成1个额外的签名出来;但是加密算法,是把明文变成密文了;
在网络上传输,如果只有数字签名,表现就是请求体里面加了1个签名的字段,但是请求的其他参数还是明文发送的;
但是如果是加密的话,就是对所有的请求参数都加密,请求就变成密文传输了。
加密解密:私钥加密,公钥解密。
数字签名:私钥签名,公钥验签。

Q3.1:为什么不能用公钥加密,私钥解密?

相对于”私钥加密,公钥解密“的实现,RSA提供了另外一种方式”公钥加密,私钥解密“
但是,用公钥加密数据的方式是否可取呢?
公钥是通过甲方发送给乙方的,其在传递过程中很有可能被截获,也就是说窃听者很有可能获得公钥;
如果窃听者获得了公钥,向甲方发送数据,甲方是无法辨别消息的真伪的;
因此,虽然可以使用公钥对数据加密,但这种方式还是会存在一定的安全隐患;
如果要建立更安全的加密消息传递协议,就需要甲乙两房构建两套非对称加密算法密钥;
仅遵循”私钥加密,公钥解密“的方式进行加密消息传递。

参考资料

《Java加密与解密的艺术》

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,847评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,208评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,587评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,942评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,332评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,587评论 1 218
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,853评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,568评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,273评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,542评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,033评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,373评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,031评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,073评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,830评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,628评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,537评论 2 269

推荐阅读更多精彩内容

  • PKI 基础知识 (摘自Microsoft Windows 2000 Server白皮书,2000年7月5日发布)...
    right_33cb阅读 912评论 0 1
  • 一、准备知识 在开始介绍前,需要首先了解一下消息摘要、数字签名、数字证书的知识 1、消息摘要 - Message ...
    浪够_阅读 2,650评论 1 2
  • 前言 本文梳理主要基于书籍《Java加密与解密的艺术》、维基百科、百度百科以及网络上众多资料,如有涉及版权问题,请...
    hello_cyz阅读 2,034评论 1 7
  • 一、密码学的起源密码学的出现主要是因为战争,有了战争,就有了密码学的应用环境。在战争中,对阵双方要保护自己的通信安...
    Qi0907阅读 1,331评论 0 1
  • 风绻缱地卷过树叶,落下的叶子脉络清晰,静静地铺躺在柔软的泥土之上。是深秋的时节了,空气里带着即将要入冬的雾气,天色...
    宋玉辞阅读 207评论 0 0