`
lobin
  • 浏览: 116541 次
  • 性别: 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 ...
Dagger: A Memory-Hard to Compute, Memory-Easy to Verify Scrypt Alternative Over the past five years of experience with Bitcoin and alternative cryptocurrencies, one important property for proof of work functions that has been discovered is that of "memory-hardness" - computing a valid pr ...
  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 ...
GOST3411, Keccak, MD2, MD4, MD5, SHA1, RIPEMD128, RIPEMD160, RIPEMD256, RIPEMD320, SHA224, SHA256, SHA384, SHA512, SHA3, Skein, SM3, Tiger, Whirlpool   RSA算法实现参见另一篇文章:https://lobin.iteye.com/blog/2328267 MD2, MD4, MD5算法实现参见另一篇文章:https://lobin.iteye.com/blog/2381977 SHAx算法实现参见另一篇文章:https://lobin ...

Coordinates

Affine & Homogeneous & Jacobian & Jacobian Chudnovsky & Jacobian Modified & Lambda Affine & Lambda Projective & Skewed Coordinates   <dependency> <groupId>com.madgag.spongycastle</groupId> <artifactId>core</artifactId> <version& ...

UUID

UUID-><,16 bytes,>           -><most significant long,8 bytes,><least significant long,8 bytes,> most significant long-><,8 bytes,>                                      -><time_low,4 bytes,><time_mid,2 bytes,><version,4 bits,第49-52位><time_hi,12 ...
  (define r (lambda ;; param map ;; param start represents the start address/node (map start) (display (string-append "address/nodes: " (car map))) (newline) (display "------") (newline) (display (list-ref map 1)) (newlin ...
  public int index() { return Math.abs(idx.getAndIncrement() % executors.length); }  在n为2的k次方的情况下: public int index1() { return idx1.getAndIncrement() & executors1.length - 1; }   public int index2() { int value = idx1.getAndIncrement(); int i = value & executors1.length - 1; ...
为什么我们总是避开不了锁?
    long _rand_seed = 1;     void init_random(long initval) { _rand_seed = initval; }     long random() { /* standard, well-known linear congruential random generator with * next_rand = (16807*seed) mod (2**31-1) * see * (1) "Random Number Gener ...
初始化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 ...
  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; ...
哈希函数 哈希函数   一个最简单最常见的哈希函数     int hash(int n, int m) {     return n % m; // n & (m-1); }     一个复杂的哈希函数   uint32_t hashint( uint32_t a) { a += ~(a<<15); a ^=  (a>>10);
Tardis (A new memory coherence protocol,一种新的缓存一致性协议)   目录   Abstract—A new memory coherence protocol, Tardis, is proposed. Tardis uses timestamp counters representing logical time as well as physical time to order memory operations and enforce sequential consistency in any type of shared memory syste ...
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、
MSI (缓存一致性协议)     目录     在多处理器系统中,MSI(Modified-Shared-Invalid)是一个最基本的缓存一致性协议。缓存中的每一个块(block)包括3中状态:Modified(M,已修改)、S
单向函数、陷门单向函数、不可逆函数   单向函数(One-way function) 陷门单向函数(One-way Trapdoor Function, Trapdoor one-way function,Trapdoor function) 无碰撞散列函数(collision-free hash function)   不能将单向函数的概念与数学意义上的不可逆函数的概念混同,因为单向函数可能是一个数学意义上可逆或者一对一的函数,而一个不可逆函数却不一定是单向函数。   目前,还没有人能够从理论上证明单向函数是存在的。单向函数存在性的证明将意味着计算机科学中一个最具挑战性的猜 ...
记录一个国外有用的技术网站:http://www.stoimen.com/blog
非对称加密算法Diffie-Hellman,这种加密算法已经过时了。有时间整理下相关资料。 整理后再贴出来。。。
java.util.concurrent.locks.AbstractQueuedSynchronizer java.util.concurrent.locks.AbstractQueuedSynchronizer.Node 它是CLH锁队列的一个变体。 AbstractQueuedSynchronizer的一个很重要的使用场景就是Lock, 在ReentrantLock,ReentrantReadWriteLock(ReadLock,WriteLock)中都有使用到。   ReentrantLock ReentrantLock中锁的实现是通过java.util.concur ...
HashMap (java.util.HashMap)是Map接口最基本的一个哈希表实现,它不是线程安全的,同时允许key为null。HashMap中的元素是无序的,也不保证顺序。HashMap的基本操作如get和put性能稳定,也就是在时间复杂度上是稳定的。同时,有两个影响HashMap性能的参数:初始容量和加载因子。   负载因子 哈希表的负载因子定义为:α=填入表中的元素个数 / 哈希表的长度。α是散列表装满程度的标志因子。   默认负载因子 static final float DEFAULT_LOAD_FACTOR = 0.75f;     容量设置
介绍 Paxos作为一个实现容错的分布式系统的算法被认为是难以理解的,或许是因为之前主要是希腊的许多读者在介绍。事实上,它是最简单明了的分布式算法。它的核心是一个一致性算法—“议会”算法。下一张将说明着这种共识算法几乎不可避免的追随各种我们希望它满足的特性。最后一章完整的讲解了Paxos 算法   一致性算法 <!--[if !supportLists]-->•       <!--[endif]-->问题 假设某个过程集能够对一组值进行提议。一致性算法保证在这些被提议的值中只有一个值被选择。如果没有值被提议,也就不需要选择。如果某个值被选择,那么这些过程应 ...
Global site tag (gtag.js) - Google Analytics