`
lobin
  • 浏览: 115408 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
Rss 文章列表
  private static PrivateKey privateKey = null; private static PublicKey publicKey = null; @BeforeClass public static void init() { KeyPairGenerator keyPairGenerator = null; try { keyPairGenerator = KeyPairGenerator.getInstance("DSA"); } catch (NoSuchAlgorithmE ...
  private static PrivateKey privateKey = null; private static PublicKey publicKey = null; @BeforeClass public static void init() { KeyPairGenerator keyPairGenerator = null; try { keyPairGenerator = KeyPairGenerator.getInstance("EC"); } catch (NoSuchAlgorithmE ...
 参考椭圆曲线加密:elliptic curve cryptography (ECC), 这里的椭圆曲线:elliptic curve(EC)。   使用公钥加密,再使用私钥解密。不像RSA,既可以使用公钥加密,再使用私钥解密,也可以私钥加密,再使用公钥解密   private static Provider provider = null; private static BCECPrivateKey privateKey = null; private static byte[] privateKeyEncoded1 = null; private static BC ...
  import base64.Base64; import org.junit.BeforeClass; import org.spongycastle.crypto.AsymmetricCipherKeyPair; import org.spongycastle.crypto.params.AsymmetricKeyParameter; import org.spongycastle.pqc.crypto.rainbow.*; import java.security.SecureRandom; public class RainbowTest { pri ...
哈希签名:哈希函数(hash)在数字签名中的实现思路   以下代码实现上的思路来自:Constructing Digital Signatures from a One Way Function, 文档资料源自http://lamport.azurewebsites.net/pubs/dig-sig.pdf, 这个是我下来上传的地址:http://dl.iteye.com/topics/download/f80e7b49-8d9c-30bb-9db9-8b3df6171465   public class HashDigest { private static byte ...
  Digest public interface Digest { /** * Insert one more input data byte. * * @param in the input byte */ void update(byte in); /** * Insert some more bytes. * * @param inbuf the data bytes */ void update(byte[] inbuf); /** * Insert some more bytes. ...
 EncodedKeySpec java.security.spec.EncodedKeySpec   PKCS8EncodedKeySpec 私钥的ASN.1编码(规范),编码按照PKCS#8标准:   PrivateKeyInfo ::= SEQUENCE { version Version, privateKeyAlgorithm PrivateKeyAlgorithmIdentifier, privateKey PrivateKey, attributes [0] IMPLICIT Attributes OPTIONAL } Version ...
初始化MD Buffer   // state of this object private int[] state;   state = new int[4];   void implReset() { // Load magic initialization constants. state[0] = 0x67452301; state[1] = 0xefcdab89; state[2] = 0x98badcfe; state[3] = 0x10325476; }       private static int A = 0x67452 ...
    读取长度: this.length = DerInputStream.getLength(i & 0xFF, paramInputStream);   static int getLength(int paramInt, InputStream paramInputStream) throws IOException { int j = paramInt; int i; if ((j & 0x80) == 0) { i = j; } else { j &= 127; if (j ...
  private int getCharIndex(char c) throws InvalidAtributeException{ if( c >= '0' && c <= '9' ){ return c - 48; } else if( c >= 'A' && c <= 'Z' ){ return c - 55; } else if( c == '-' ){ return 36; } else if( c == '.' ){ return 37; } else if( ...
public enum HandshakeType { HELLO_REQUEST(0), CLIENT_HELLO(1), SERVER_HELLO(2), // certificate CERTIFICATE(3), // server_key_exchange (12) SERVER_KEY_EXCHANGE(12), // certificate_request(13) CERTIFICATE_REQUEST(13), // server_hello_done(14) SERVER_HEL ...
  typedef void bio_info_cb(struct bio_st *, int, const char *, int, long, long);   struct crypto_ex_data_st          {          STACK_OF(void) *sk;          int dummy; /* gcc is screwing up this data structure :-( */          };   typedef struct crypto_ex_data_st CRYPTO_EX_DATA; ...
认证认证请求有头部,响应有头部请求头 class RequestHeader { int xid; int type; }  认证请求 class AuthPacket { int type; ustring scheme; buffer auth; }  响应头 class ReplyHeader { int xid; long zxid; int err; }   public class AuthPacketTest { ...
哈希函数 哈希函数   一个最简单最常见的哈希函数     int hash(int n, int m) {     return n % m; // n & (m-1); }     一个复杂的哈希函数   uint32_t hashint( uint32_t a) { a += ~(a<<15); a ^=  (a>>10);
RSA Public-Key Cryptography Standards (PKCS) #1: RSA Cryptography Specifications Version 2.1     目录 1介绍3 2标记法3 3密钥类型4 3.1RSA公钥4 3.2RSA私钥5 4数据转换原语6 4.1I2OSP6 4.2OS2IP7 5密码原语7 5.1加密解密原语7 5.1.1RSAEP7 5.1.2RSADP7 5.2签名和验证原语8 6方案概要8 7加密方案8 7.1RSAES-OAEP8 7.2RSAES-PKCS1-v1_58 8签名方案- ...
DES (DATA ENCRYPTION STANDARD)   目录     1、 Data Encryption Standard, https://en.wikipedia.org/wiki/Data_Encryption_Standard 2、 DATA ENCRYPTION STANDARD (DES),http://csrc.nist.gov/publications/fips/fips46-3/fips46-3.pdf 3、
单向函数、陷门单向函数、不可逆函数   单向函数(One-way function) 陷门单向函数(One-way Trapdoor Function, Trapdoor one-way function,Trapdoor function) 无碰撞散列函数(collision-free hash function)   不能将单向函数的概念与数学意义上的不可逆函数的概念混同,因为单向函数可能是一个数学意义上可逆或者一对一的函数,而一个不可逆函数却不一定是单向函数。   目前,还没有人能够从理论上证明单向函数是存在的。单向函数存在性的证明将意味着计算机科学中一个最具挑战性的猜 ...
非对称加密算法Diffie-Hellman,这种加密算法已经过时了。有时间整理下相关资料。 整理后再贴出来。。。

SSL

SSL The Secure Sockets Layer (SSL) Protocol   目录 1 介绍 4 2 术语 4 3 文档术语 4 4 表述语言 4 4.1 基本快大小 4 4.2 Miscellaneous 4 4.3 向量 5 4.4 数值 5 4.5 枚举 6 4.6 构造类型 6 4.6.1 变体 6 4.7 加密属性 7 4.8 常量 7 5 SSL协议 7 5.1 会话/连接状态 8 5.2 记录层 9 5.2.1 分段 9 5.2.2 记录压缩及解压 9 5.2.3 记录有效载荷保护及加密规范 9 5.2.3.1 Null或标准流加密 10 5.2.3.2 CBC块加密 ...

MD5 & SHA

有关MD5,经常听到有人说MD5有可能被破解,尤其是在山大王小云教授发布了那片论文之后,加上各种篇幅的新闻报道,再加上各种不明所以的人瞎说,这种说法更是在周围很多人中散布..., 网上也充斥着大量的MD5破解方法,包括破解软件,甚至提供在线破解, 以至甚至在使用MD5的时候,总是有人表达"MD5已经被破解了"的担忧, 认为这个不安全。很多人在使用MD5的时候自己都没有绝对的信心, 可能头脑也在怀疑MD5是不是安全的, 会不会被人家破解? 我觉得只要考虑了以下网上充斥着这些所谓的MD5破解方法的话, 完全不需要担心了。     什么是破解?   已知A,通过MD5 ...
Global site tag (gtag.js) - Google Analytics