密码学

数论及其应用——密码学中的数论

密码学,是一门古老而又年轻的学科,在《模仿游戏》中Benedict Cumberbatch饰演的图灵,就是二战时期颇有造诣的密码学大师。虽然涉猎不深,但是笔者还是认为密码学同数论、组合数学一样,都是非常好的数学游戏,那么这篇文章,我们就来介绍一下一些简单的和数论有一定关联的加密方式。 最为古老的一种加密方式——凯撒密码,其实就是字符密码的一种方式。 在密码...

JAVA 上加密算法的实现用例,MessageDigest介绍

第 1 章基础知识 1.1. 单钥密码体制 单钥密码体制是一种传统的加密算法,是指信息的发送方和接收方共同使用同一把密钥进行加解密。 通常 , 使用的加密算法 比较简便高效 , 密钥简短,加解密速度快,破译极其困难。但是加密的安全性依靠密钥保管的安全性 , 在公开的计算机网络上安全地传送和保管密钥是一个严峻的问题,并且如果在多用户的情况下密钥的保管安全性也...

从数学到密码学(十九)

数字证书、CA及PKI(二) 本节我们正式验证数字证书sslclientcert中签名的合法性,根据RFC2459,证书内容分为三部分:tbsCertificate、signatureAlgorithm和signatureValue。证书中signatureAlgorithm内容是sha1WithRSAEncryption,结合RSA算法,得到验证公式如下...

java(计算机)常见加密算法详解

  来源:http://blog.csdn.net/janronehoo/article/category/1152295  如基本的单向加密算法: BASE64 严格地说,属于编码格式,而非加密算法 MD5(Message Digest algorithm 5,信息摘要算法) SHA(Secure Hash Algorithm,安全散列算法) HMA...

MD5加密算法中的加盐值 ,和彩虹表攻击 防止彩虹表撞库

一、什么是彩虹表? 彩虹表(Rainbow Tables)就是一个庞大的、针对各种可能的字母组合预先计算好的哈希值的集合,不一定是针对MD5算法的,各种算法的都有,有了它可以快速的破解各类密码。越是复杂的密码,需要的彩虹表就越大,现在主流的彩虹表都是100G以上。 二、上哪找彩虹表去? 现在有很多大牛已经把自己的彩虹表共享出来了,所以你可以去下载。还有一种...

从数学到密码学(十三)

公钥的应用--加解密(一) 仍然以RSA算法为例,分别讨论 让我们再次祭起屠龙宝剑--OpenSSL工具,让它来给我们展示RSA加解密是怎样操作的。 前已知,进行加密操作需要知道接收方的RSA公钥,和需要加密的明文,然后再进行加密运算,最后得到密文。 公钥从哪里来,就让OpenSSL自动给我们生成吧(当然需要你去执行必要的命令),为了做到这一点,手头必须拥...

RSA加密算法的加密与解密

转发原文链接:RSA加密算法加密与解密过程解析 1.加密算法概述   加密算法根据内容是否可以还原分为可逆加密和非可逆加密。   可逆加密根据其加密解密是否使用的同一个密钥而可以分为对称加密和非对称加密。   所谓对称加密即是指在加密和解密时使用的是同一个密钥:举个简单的例子,对一个字符串C做简单的加密处理,对于每个字符都和A做异或,形成密文S。解密的时候...

2椭圆曲线密码学:有限域和离散对数

原文链接:https://andrea.corbellini.name/2015/05/23/elliptic-curve-cryptography-finite-fields-and-discrete-logarithms/ 这篇文章是ECC系列的第二篇。 在前一篇文章中,我们已经看到了如何基于实数域上的椭圆曲线来定义一个群。具体如下,我们定义了点的加法...

从数学到密码学(十五)

数字签名(一) 正式开始之前,我们先讨论下,实际生活中,当遇到上一节最后提到的信任问题----让人相信可信的第3方出具的证明----这一问题时,通常是怎么解决的。稍加考虑,我们就会得到简单结论:因为这些证明都附加了令人相信的证据,比如有第3方的亲手签名或盖章。有的朋友可能有过这样的经历,当需要去外面的单位(假设为X单位)参加会议时,通常会由本单位(假设为Z...

加密算法

常用的加密算法总体可以分为两类:单项加密和双向加密,双向加密又分为对称加密和非对称加密,因此主要分析下面三种加密算法: 对称加密算法、非对称加密算法和单项加密算法(Hash算法)。 1、对称加密算法(AES、DES、3DES) 对称加密算法是指加密和解密采用相同的密钥,是可逆的(即可解密)。 AES加密算法是密码学中的高级加密标准,采用的是对称分组密码体制...