加密与安全
文章平均质量分 75
邹德强
电信智能卡行业技术出身,目前专注于智能卡及衍生嵌入式Java平台在支付和安全方向上的应用。
展开
-
RSA Lib Chapter 2 Cryptography (RSA实验室 第二章,密码学)
第二章 密码学这章简述了密码学及相关领域,是下一章的背景工作。2.1 密码学工具2.1.1 什么是公钥算法?在传统的密码学中,消息的发送者和接收者知道和使用相同的密钥;发送者使用密钥加密消息,接收者使用相同的密钥解密消息。这个方法被成为密钥算法或者对称算法。主要的挑战是使得发送者和接收这确定密钥并且不让其它任何人知道。如果它们处在分离的物理坐标,它们必须相信一个载体,电话系翻译 2012-05-10 12:52:24 · 2247 阅读 · 0 评论 -
[SSL]PKCS与X.509标准的简单说明
from: http://blog.csdn.net/do2jiang/article/details/5845031PKI标准可以分为第一代和第二代标准。第一代PKI标准主要包括美国RSA公司的公钥加密标准(Public Key Cryptography Standards,PKCS)系列、国际电信联盟的ITU-T X.509、IETF组织的公钥基础设施X.509(Public Key转载 2013-07-15 14:22:28 · 2058 阅读 · 0 评论 -
[SSL]SSL算法库的理解与测试
SSL算法库包含3类算法,这里分别说明SSH所用到和我们可能用到的算法:对称加密算法——DES、AES、RC4;非对称加密算法——RSA、DH;信息摘要算法(单向哈希算法)——MD5、SHA;在SSH中,使用RSA算法加密SSH v1的密钥交换过程;使用DH算法加密SSH v2的密钥交换过程,通过DH算法获得会话密钥;使用DES算法加密SSH的会话过程。 DES转载 2013-07-15 14:25:04 · 1841 阅读 · 0 评论 -
[SSL]公钥与私钥典型应用
1、关于公钥和私钥 公钥和私钥或者称非对称密钥和对称密钥是密码体制的两种方式。私钥体制指加解密密钥相同或彼此容易推出,因此加解密密钥都是保密的。公钥体制指加解密密钥彼此无法推出,公钥公开,私钥保密。由上定义可知,公钥私钥是两种不同的密码体制,而不是两个不同的应用或两个不同的密钥。因此在加密和签名应用中,公钥私钥均可以使用。2、关于加密和签名的实际应用 在实际加密应用转载 2013-07-15 14:26:48 · 2216 阅读 · 0 评论 -
ASN.1探索 - 1 简介(转)
--1 简介& 注释:本章的内容主要翻译自《ASN.1 Communication between Heterogeneous Systems》和《ASN.1 Complete》。 ASN.1 – Abstract Syntax Notation dot one,抽象记法1。数字1被ISO加在ASN的后边,是为了保持ASN的开放性,可以让以后转载 2013-07-15 17:01:24 · 3028 阅读 · 0 评论 -
ASN.1探索 - 2 基础知识(3)
转自: http://wmfbravo.blog.163.com/感谢: wmfbravo 2 基础知识& 注释:本章的内容主要翻译自《ASN.1 Communication between Heterogeneous Systems》。2.11 子类型约束2.11.1 单值约束(Single Value Constra转载 2013-07-15 20:08:33 · 2433 阅读 · 0 评论 -
ASN.1探索 - 3 编码规则与传输语法(1 - BER)
转自: http://wmfbravo.blog.163.com/感谢: wmfbravo 3 编码规则和传输语法本章主要介绍BER和PER两种编码规则及其衍生规则。3.1 BER3.1.1 基本规则BER(Basic Encoding Rules)是ASN.1中最早定义的编码规则,在讨论详细编码规则时,我们是基于正确的抽象描述上。BE转载 2013-07-15 20:14:03 · 2273 阅读 · 0 评论 -
ASN.1探索 - 3 编码规则与传输语法(3 - PER)
转自: http://wmfbravo.blog.163.com/感谢: wmfbravo 本章主要介绍BER和PER两种编码规则及其衍生规则。3.3 PERBER编码因其在大小上的开销过大而受人诟病,和真实编码数据相比,平均需要增加50%的额外数据。正式这个原因推动了PER(Packed Encoding Rules)的诞生。相同协议,PER编码与B转载 2013-07-16 12:10:19 · 4445 阅读 · 0 评论 -
[SSL/TLS] SSL/TLS协议综合总结
密码技术要了解SSL协议,首先要了解:加密算法、消息摘要算法(又称为哈希算法Hash),数字签名等概念。这些技术每个都可以写出一整本的书,它们结合在一起,提供了保密性、完整性和身份验证的功能。加密算法设想:ALICE想发消息给她的银行要汇出一笔款。ALICE希望这些消息是保密的,因为这里面包括她的帐户资料和汇款金额。一种办法是使用加密算法,这种技术将她要传递的消息变成经过加密的密文,直转载 2013-07-15 14:30:55 · 1591 阅读 · 0 评论 -
TLS协议栈和握手细节
TLS Stack and something detail info about HandShake process转载 2013-07-15 14:34:13 · 3461 阅读 · 0 评论 -
ASN.1探索 - 2 基础知识(1)
转自: http://wmfbravo.blog.163.com/感谢: wmfbravo2 基础知识& 注释:本章的内容主要翻译自《ASN.1 Communication between Heterogeneous Systems》。2.1 相关背景知识2.1.1 OSI参考模型Figure 2-1 OSI转载 2013-07-15 17:13:54 · 1935 阅读 · 0 评论 -
ASN.1探索 - 2 基础知识(2)
转自: http://wmfbravo.blog.163.com/感谢: wmfbravo 2 基础知识& 注释:本章的内容主要翻译自《ASN.1 Communication between Heterogeneous Systems》。2.8 基本类型Table 2-4 基本类型汇总表类型转载 2013-07-15 18:26:51 · 2371 阅读 · 0 评论 -
ASN.1探索 - 3编码规则与传输语法(CER与DER)
3.2 CER与DERCER与DER(Canonical and Distinguished Encoding Rules)3.2.1 更多限制规则的需求在X.400 和X.500中应用接力传递消息,会使用到X.509数字签名(Digital Signature),其过程如下图所示:Figure 3-25 接力传递消息发送方发送v的编码结果c1(v),同时发送其数字签名转载 2013-07-16 12:16:16 · 2255 阅读 · 0 评论 -
关于PIN码校验的Timing攻击及解决方案
Timing攻击是一种常见的软件攻击方式。基本的思路就是分析输入数据值的变化引发的软件处理时间变化,从而反推有效数据。BCTC目前推出的安全测试也包含了对PIN码的Timing攻击。虽然PIN因为重试次数的限制,不具有样本效应,但从安全视角上来看,确实是有隐患。PIN的处理就是数据和标准值比对的过程,通常的比对方法如下:BOOL ArrayCompare(U08* src, U08*原创 2014-03-20 15:50:41 · 3097 阅读 · 1 评论 -
ASN.1中OID类型的DER编码
asn1对OID的编码有一些规定,形如a.b.c.d.e的OID被编码的时候,完全可以按照der的编码规则将整个oid的类型设定为object,然后将每一个点分数字的类型设定为integer,最终编码为[obj|length[[int|lena[a]]][int|lenb[b]][int|lenc[c]]...],可是asn1标准并没有如此编码,而是使用了"more bit"这种方式,这样就少原创 2014-06-09 15:24:19 · 4527 阅读 · 0 评论 -
ASN.1中OID类型的DER编码(附Perl,java源码)
asn1对OID的编码有一些规定,形如a.b.c.d.e的OID被编码的时候,完全可以按照der的编码规则将整个oid的类型设定为object,然后将每一个点分数字的类型设定为integer,最终编码为[obj|length[[int|lena[a]]][int|lenb[b]][int|lenc[c]]...],可是asn1标准并没有如此编码,而是使用了"more bit"这种方式,这样就少原创 2014-06-09 15:25:43 · 3067 阅读 · 1 评论 -
离散对数问题
Diffie-Hellman密钥交换算法的有效性依赖于计算离散对数的难度。简言之,可以如下定义离散对数:首先定义一个素数p的原根,为其各次幂产生从1 到p-1的所有整数根,也就是说,如果a是素数p的一个原根,那么数值a mod p, a^2 mod p, ..., a^( p-1) mod p是各不相同的整数,并且以某种排列方式组成了从1到p-1的所有整数。对于一个整数b和转载 2012-04-19 13:13:12 · 4976 阅读 · 0 评论 -
PKCS #6: Extended- Certificate Syntax Standard (PKCS #6: 扩展证书语法标准)
PKCS #6: 扩展证书语法标准版本 V1.5范围:这个规范描述了一个扩展证书的的语法。一个外部证书由一个X.509公钥证书和一个属性集合组成,由签发者和X.509的公钥证书一起签名。因此,属性和相关的X.509公钥证书可以使用单独的公钥操作验签,并且如果需要,可以从中提取一个普通的X.509证书,例如为了PEM(安全增强电子邮件)。目的是包含更多的属性来扩展验证过程,而翻译 2012-04-20 11:11:51 · 2040 阅读 · 0 评论 -
生日悖论
生日悖论生日悖论,指如果一个房间里有23个或23个以上的人,那么至少有两个人的生日相同的概率要大于50%。这就意味着在一个典型的标准小学班级(30人)中,存在两人生日相同的可能性更高。对于60或者更多的人,这种概率要大于99%。从引起逻辑矛盾的角度来说生日悖论并不是一种悖论,从这个数学事实与一般直觉相抵触的意义上,它才称得上是一个悖论。大多数人会认为,23人中有2人生日相同的概率应转载 2012-04-19 13:37:28 · 3139 阅读 · 0 评论 -
One-Time Password Specifications (OTPS)
OTP全称叫One-time Password,也称动态口令,是根据专门的算法每隔60秒生成一个与时间相关的、不可预测的随机数字组合,每个口令只能使用一次。技术类型 otp从技术来分有三种形式,时间同步、事件同步、挑战/应答。 (1)时间同步 原理是基于动态令牌和动态口令验证服务器的时间比对,基于时间同步的令牌,一般每60秒产生一个新口令,要求转载 2012-02-14 11:08:54 · 4469 阅读 · 0 评论 -
Pluggable Authentication Modules(PAM)
可插拔认证模块 PAM(Pluggable Authentication Modules )是由Sun提出的一种认证机制。它通过提供一些 动态链接库和一套统一的API,将系统提供的服务 和该服务的认证方式分开,使得系统管理 员可以灵活地根据需要给不同的服务配置不同的认证方式而无需更改服务程序,同时也便于 向系 统中添加新的认证手段。 PAM最初是集成在转载 2012-02-14 11:17:48 · 2884 阅读 · 0 评论 -
The Public-Key Cryptography Standards (PKCS)
The Public-Key Cryptography Standards (PKCS)是由美国RSA数据安全公司及其合作伙伴制定的一组公钥密码学标准,其中包括证书申请、证书更新、证书作废表发布、扩展证书内容以及数字签名、数字信封的格式等方面的一系列相关协议。到1999年底,PKCS已经公布了以下标准: PKCS#1:定义RSA公开密钥算法加密和签名机制,主要用于组织PKCS#7中所描述转载 2012-02-14 11:02:00 · 1157 阅读 · 0 评论 -
Cryptographic Service Provider(Microsoft CSP)
目前,在国际上有两种比较通用的对加密设备进行管理的接口。一种是PKCS#11标准接口,另一种是由Microsoft制定的CSP(Cryptographic Service Provider)标准接口。其中CSP是微软专为Windows系列操作系统制定的底层加密接口,用于管理硬件或软件形式的加密设备,实现数据加密、解密,数字签名、验证和数据摘要(即HASH)等。 CSP转载 2012-02-14 11:22:22 · 4140 阅读 · 0 评论 -
PKCS#1 v2.1 RSA Cryptography Standard (PKCS#1 RSA密码学规范,版本2.1)
PKCS#1 v2.1: RSA密码学规范RSA实验室2002年6月14日--翻译:CaesarZou ([email protected])1.介绍这个文档提供了基于RSA算法的公钥密码学的建议实现,包含如下的方面:> 密码学单元> 加密方案> 带填充的签名方案> 以ASN.1语法展现的密钥和方案参考建议基于计算机的通用需翻译 2012-03-23 14:07:13 · 10530 阅读 · 0 评论 -
PKCS #3: Diffie-Hellman Key Agreement Standard(PKCS#3 Diffe-Hellman密钥协议规范)
This standard describes a method for implementing Diffie-Hellman key agreement. The intended application of this standard is in protocols for establishing secure communications.Current Version翻译 2012-03-26 14:41:00 · 1623 阅读 · 0 评论 -
PKCS#1 v2.1 java 语言实现参考
PKCS#1 v2.1 逐渐已经替代 PKCS#1 v1.5成为了应用选择的主要加密/签名方案。近期看了一下这规范。发现新增的OAEP加密、PSS签名网上的资源不是很多。所以弄了这么个工程,一个目的是导读,一个目的是验证对算法的理解,这里共享给大家,希望对大家理解这个规范有所帮助: 基于BigInteger类用java封装的PKCS#1 v2.1 全算法实现,模块与规范一一对应。包含 I原创 2012-03-27 11:15:31 · 5223 阅读 · 1 评论 -
PKCS#3 v1.4 java 语言实现参考
再接再厉,用java实现了PKCS#3 的Diffie-Hellman,这个类比较简单,就不提供下载了,直接粘在下面:package com.broadthinking.pkcs.pkcs_3;import java.math.BigInteger;import java.util.Random;/** * This standard describes a method原创 2012-03-28 10:44:46 · 1576 阅读 · 1 评论 -
Public-Key Cryptography Standards (PKCS)
http://www.rsa.com/rsalabs/node.asp?id=2124Home:Standards InitiativesPublic-Key Cryptography Standards (PKCS)公钥密码学规范(PKCS)The Public-Key Cryptography Standards are specifications翻译 2012-03-14 12:19:24 · 1081 阅读 · 0 评论 -
ASN.1 (from 维基百科)
维基百科,自由的百科全书跳转到: 导航,搜索 在电信和计算机网络领域,ASN.1(Abstract Syntax Notation one) 是一套标准,是描述数据的表示、编码、传输、解码的灵活的记法。它提供了一套正式、无歧义和精确的规则以描述独立于特定计算机硬件的对象结构。目录 [隐藏] 1标准简介2范例2.1D转载 2012-03-14 14:23:34 · 3249 阅读 · 0 评论 -
PKCS #1: RSA Cryptography Standard
http://www.rsa.com/rsalabs/node.asp?id=2125Home:Standards Initiatives: Public-Key Cryptography Standards (PKCS)PKCS #1: RSA Cryptography Standard PKCS #1: RSA算法标准This documen翻译 2012-03-14 13:47:08 · 2166 阅读 · 0 评论 -
ASN语法浅析
ASN.1抽象语法标识ASN.1概述 抽象语法表示(标记) ASN.1(Abstract Syntax Notation One )一种数据定义语言,描述了对数据进行表示、编码、传输和解码的数据格式。网络管理系统中的管理信息库(MIB)、应用程序的数据结构、协议数据单元(PDU)都是用ASN.1定义的。ASN.1优点: 通过如下的独立:⑴ 独立于机器;⑵独立于程序语言原创 2012-03-15 16:00:10 · 9515 阅读 · 2 评论 -
PKCS#5 v2.0 java 语言实现参考
再接再厉:PKCS#5的实现:PKCS#5主要讲了基于口令的加密标准,具体包括:1.密钥派生:1.1 密钥派生接口package com.broadthinking.pkcs.pkcs_5;/** * A typical application of the key derivation functions defined here might * include th原创 2012-04-06 15:27:31 · 3301 阅读 · 0 评论 -
PKCS #5 v2.0: Password-Based Cryptography Standard (PKCS #5: 基于口令的密码系统规范 版本2.0)
PKCS #5: 基于口令的密码系统规范 版本2.0摘要本备忘录代表源自RSA实验室的公钥密码系统标准(PKCS)系列的PKCS#5v2.0的再版,变更控制仍保留在PKCS过程。该文档的主体,除了安全性考虑一节,都是直接从那个规范中获得的。本文档提供基于口令的密码系统的实现建议,覆盖密钥导出函数,加密方案,消息鉴别方案,及与该技术等同的ASN.1语法。建议的意图是供计算机和通信系统翻译 2012-04-06 14:58:24 · 2298 阅读 · 0 评论 -
RSA Lib Chapter 1 -- Introduction (RSA实验室 第一章,密码学介绍)
第一章 介绍在这个介绍的章节中,对加密技术和相关问题的领域做了简要概述。1.1 RSA实验室关于当今密码学经常被问的问题?RSA实验室关于当今算法的常见问题FAQ是一个有关于现代密码学,密码分析,并与他们有关的问题的问题大集合。以提出的问题和回答问题的方式。我们尽我们所能详尽的回答每一个可能的问题。我们希望,这份文件将是一个很好的介绍,以及为那些有兴趣在密码学领域的一个翻译 2012-04-10 14:36:55 · 3289 阅读 · 0 评论 -
ECC加密算法原理入门介绍
from: http://blog.csdn.net/sahusoft/article/details/6868016 前言同RSA(Ron Rivest,Adi Shamir,Len Adleman三位天才的名字)一样,ECC(Elliptic Curves Cryptography,椭圆曲线密码编码学)也属于公开密钥算法。目前,国内详细介绍ECC的公开文献并不多(反正我没有找到)。转载 2012-04-19 13:11:37 · 5586 阅读 · 1 评论 -
Base8编码:通过数字传输二进制数据
最近有个项目,涉及到通过SS或者USSD信道完成数据的交互。以下是SS和USSD的说明:SSSupplementary Service,补充服务,比如控制号码显示,呼叫转移等服务的号码串。这些号码串是每部GSM/UMTS/LTE手机中的固定服务号码,运营商是不能对它进行修改的。当手机系统接受到这些服务号码后,先在手机内部进行处理后,再传给网络。比如你随便拿个手机,在拨号盘输入*原创 2016-06-14 19:11:16 · 3011 阅读 · 0 评论