package com.broadthinking.pkcs.pkcs_1.test;
import com.broadthinking.pkcs.pkcs_1.DataConversion;
import com.broadthinking.pkcs.pkcs_1.PKCS1Exception;
import com.broadthinking.pkcs.pkcs_1.rsa.RSAPrivateCRTKey;
import com.broadthinking.pkcs.pkcs_1.rsa.RSAPrivateKey;
import com.broadthinking.pkcs.pkcs_1.rsa.RSAPublicKey;
import com.broadthinking.pkcs.pkcs_1.rsa.RSASSA_PSS;
public class PSS_Int {
public static byte [] n = {
(byte)0xa2, (byte)0xba, (byte)0x40, (byte)0xee, (byte)0x07, (byte)0xe3, (byte)0xb2, (byte)0xbd, (byte)0x2f, (byte)0x02, (byte)0xce, (byte)0x22, (byte)0x7f, (byte)0x36, (byte)0xa1, (byte)0x95,
(byte)0x02, (byte)0x44, (byte)0x86, (byte)0xe4, (byte)0x9c, (byte)0x19, (byte)0xcb, (byte)0x41, (byte)0xbb, (byte)0xbd, (byte)0xfb, (byte)0xba, (byte)0x98, (byte)0xb2, (byte)0x2b, (byte)0x0e,
(byte)0x57, (byte)0x7c, (byte)0x2e, (byte)0xea, (byte)0xff, (byte)0xa2, (byte)0x0d, (byte)0x88, (byte)0x3a, (byte)0x76, (byte)0xe6, (byte)0x5e, (byte)0x39, (byte)0x4c, (byte)0x69, (byte)0xd4,
(byte)0xb3, (byte)0xc0, (byte)0x5a, (byte)0x1e, (byte)0x8f, (byte)0xad, (byte)0xda, (byte)0x27, (byte)0xed, (byte)0xb2, (byte)0xa4, (byte)0x2b, (byte)0xc0, (byte)0x00, (byte)0xfe, (byte)0x88,
(byte)0x8b, (byte)0x9b, (byte)0x32, (byte)0xc2, (byte)0x2d, (byte)0x15, (byte)0xad, (byte)0xd0, (byte)0xcd, (byte)0x76, (byte)0xb3, (byte)0xe7, (byte)0x93, (byte)0x6e, (byte)0x19, (byte)0x95,
(byte)0x5b, (byte)0x22, (byte)0x0d, (byte)0xd1, (byte)0x7d, (byte)0x4e, (byte)0xa9, (byte)0x04, (byte)0xb1, (byte)0xec, (byte)0x10, (byte)0x2b, (byte)0x2e, (byte)0x4d, (byte)0xe7, (byte)0x75,
(byte)0x12, (byte)0x22, (byte)0xaa, (byte)0x99, (byte)0x15, (byte)0x10, (byte)0x24, (byte)0xc7, (byte)0xcb, (byte)0x41, (byte)0xcc, (byte)0x5e, (byte)0xa2, (byte)0x1d, (byte)0x00, (byte)0xee,
(byte)0xb4, (byte)0x1f, (byte)0x7c, (byte)0x80, (byte)0x08, (byte)0x34, (byte)0xd2, (byte)0xc6, (byte)0xe0, (byte)0x6b, (byte)0xce, (byte)0x3b, (byte)0xce, (byte)0x7e, (byte)0xa9, (byte)0xa5
};
public static byte [] e = {
0x01,0x00,0x01
};
public static byte [] p = {
(byte)0xd1, (byte)0x7f, (byte)0x65, (byte)0x5b, (byte)0xf2, (byte)0x7c, (byte)0x8b, (byte)0x16, (byte)0xd3, (byte)0x54, (byte)0x62, (byte)0xc9, (byte)0x05, (byte)0xcc, (byte)0x04, (byte)0xa2,
(byte)0x6f, (byte)0x37, (byte)0xe2, (byte)0xa6, (byte)0x7f, (byte)0xa9, (byte)0xc0, (byte)0xce, (byte)0x0d, (byte)0xce, (byte)0xd4, (byte)0x72, (byte)0x39, (byte)0x4a, (byte)0x0d, (byte)0xf7,
(byte)0x43, (byte)0xfe, (byte)0x7f, (byte)0x92, (byte)0x9e, (byte)0x37, (byte)0x8e, (byte)0xfd, (byte)0xb3, (byte)0x68, (byte)0xed, (byte)0xdf, (byte)0xf4, (byte)0x53, (byte)0xcf, (byte)0x00,
(byte)0x7a, (byte)0xf6, (byte)0xd9, (byte)0x48, (byte)0xe0, (byte)0xad, (byte)0xe7, (byte)0x57, (byte)0x37, (byte)0x1f, (byte)0x8a, (byte)0x71, (byte)0x1e, (byte)0x27, (byte)0x8f, (byte)0x6b
};
public static byte [] q = {
(byte)0xc6, (byte)0xd9, (byte)0x2b, (byte)0x6f, (byte)0xee, (byte)0x74, (byte)0x14, (byte)0xd1, (byte)0x35, (byte)0x8c, (byte)0xe1, (byte)0x54, (byte)0x6f, (byte)0xb6, (byte)0x29, (byte)0x87,
(byte)0x53, (byte)0x0b, (byte)0x90, (byte)0xbd, (byte)0x15, (byte)0xe0, (byte)0xf1, (byte)0x49, (byte)0x63, (byte)0xa5, (byte)0xe2, (byte)0x63, (byte)0x5a, (byte)0xdb, (byte)0x69, (byte)0x34,
(byte)0x7e, (byte)0xc0, (byte)0xc0, (byte)0x1b, (byte)0x2a, (byte)0xb1, (byte)0x76, (byte)0x3f, (byte)0xd8, (byte)0xac, (byte)0x1a, (byte)0x59, (byte)0x2f, (byte)0xb2, (byte)0x27, (byte)0x57,
(byte)0x46, (byte)0x3a, (byte)0x98, (byte)0x24, (byte)0x25, (byte)0xbb, (byte)0x97, (byte)0xa3, (byte)0xa4, (byte)0x37, (byte)0xc5, (byte)0xbf, (byte)0x86, (byte)0xd0, (byte)0x3f, (byte)0x2f
};
public static byte [] dp = {
(byte)0x9d, (byte)0x0d, (byte)0xbf, (byte)0x83, (byte)0xe5, (byte)0xce, (byte)0x9e, (byte)0x4b, (byte)0x17, (byte)0x54, (byte)0xdc, (byte)0xd5, (byte)0xcd, (byte)0x05, (byte)0xbc, (byte)0xb7,
(byte)0xb5, (byte)0x5f, (byte)0x15, (byte)0x08, (byte)0x33, (byte)0x0e, (byte)0xa4, (byte)0x9f, (byte)0x14, (byte)0xd4, (byte)0xe8, (byte)0x89, (byte)0x55, (byte)0x0f, (byte)0x82, (byte)0x56,
(byte)0xcb, (byte)0x5f, (byte)0x80, (byte)0x6d, (byte)0xff, (byte)0x34, (byte)0xb1, (byte)0x7a, (byte)0xda, (byte)0x44, (byte)0x20, (byte)0x88, (byte)0x53, (byte)0x57, (byte)0x7d, (byte)0x08,
(byte)0xe4, (byte)0x26, (byte)0x28, (byte)0x90, (byte)0xac, (byte)0xf7, (byte)0x52, (byte)0x46, (byte)0x1c, (byte)0xea, (byte)0x05, (byte)0x54, (byte)0x76, (byte)0x01, (byte)0xbc, (byte)0x4f
};
public static byte [] dq = {
(byte)0x12, (byte)0x91, (byte)0xa5, (byte)0x24, (byte)0xc6, (byte)0xb7, (byte)0xc0, (byte)0x59, (byte)0xe9, (byte)0x0e, (byte)0x46, (byte)0xdc, (byte)0x83, (byte)0xb2, (byte)0x17, (byte)0x1e,
(byte)0xb3, (byte)0xfa, (byte)0x98, (byte)0x81, (byte)0x8f, (byte)0xd1, (byte)0x79, (byte)0xb6, (byte)0xc8, (byte)0xbf, (byte)0x6c, (byte)0xec, (byte)0xaa, (byte)0x47, (byte)0x63, (byte)0x03,
(byte)0xab, (byte)0xf2, (byte)0x83, (byte)0xfe, (byte)0x05, (byte)0x76, (byte)0x9c, (byte)0xfc, (byte)0x49, (byte)0x57, (byte)0x88, (byte)0xfe, (byte)0x5b, (byte)0x1d, (byte)0xdf, (byte)0xde,
(byte)0x9e, (byte)0x88, (byte)0x4a, (byte)0x3c, (byte)0xd5, (byte)0xe9, (byte)0x36, (byte)0xb7, (byte)0xe9, (byte)0x55, (byte)0xeb, (byte)0xf9, (byte)0x7e, (byte)0xb5, (byte)0x63, (byte)0xb1
};
public static byte [] qinv = {
(byte)0xa6, (byte)0x3f, (byte)0x1d, (byte)0xa3, (byte)0x8b, (byte)0x95, (byte)0x0c, (byte)0x9a, (byte)0xd1, (byte)0xc6, (byte)0x7c, (byte)0xe0, (byte)0xd6, (byte)0x77, (byte)0xec, (byte)0x29,
(byte)0x14, (byte)0xcd, (byte)0x7d, (byte)0x40, (byte)0x06, (byte)0x2d, (byte)0xf4, (byte)0x2a, (byte)0x67, (byte)0xeb, (byte)0x19, (byte)0x8a, (byte)0x17, (byte)0x6f, (byte)0x97, (byte)0x42,
(byte)0xaa, (byte)0xc7, (byte)0xc5, (byte)0xfe, (byte)0xa1, (byte)0x4f, (byte)0x22, (byte)0x97, (byte)0x66, (byte)0x2b, (byte)0x84, (byte)0x81, (byte)0x2c, (byte)0x4d, (byte)0xef, (byte)0xc4,
(byte)0x9a, (byte)0x80, (byte)0x25, (byte)0xab, (byte)0x43, (byte)0x82, (byte)0x28, (byte)0x6b, (byte)0xe4, (byte)0xc0, (byte)0x37, (byte)0x88, (byte)0xdd, (byte)0x01, (byte)0xd6, (byte)0x9f
};
public static int k = 128;
public static void Test() throws PKCS1Exception {
RSAPublicKey pubkey = new RSAPublicKey(DataConversion.OS2IP(n), DataConversion.OS2IP(e));
RSAPrivateKey prikey = new RSAPrivateCRTKey(DataConversion.OS2IP(n),null,null,DataConversion.OS2IP(p),DataConversion.OS2IP(q),DataConversion.OS2IP(dp),DataConversion.OS2IP(dq),DataConversion.OS2IP(qinv));
RSASSA_PSS pss = new RSASSA_PSS();
byte [] M = {
(byte)0x85, (byte)0x9e, (byte)0xef, (byte)0x2f, (byte)0xd7, (byte)0x8a, (byte)0xca, (byte)0x00, (byte)0x30, (byte)0x8b, (byte)0xdc, (byte)0x47, (byte)0x11, (byte)0x93, (byte)0xbf, (byte)0x55,
(byte)0xbf, (byte)0x9d, (byte)0x78, (byte)0xdb, (byte)0x8f, (byte)0x8a, (byte)0x67, (byte)0x2b, (byte)0x48, (byte)0x46, (byte)0x34, (byte)0xf3, (byte)0xc9, (byte)0xc2, (byte)0x6e, (byte)0x64,
(byte)0x78, (byte)0xae, (byte)0x10, (byte)0x26, (byte)0x0f, (byte)0xe0, (byte)0xdd, (byte)0x8c, (byte)0x08, (byte)0x2e, (byte)0x53, (byte)0xa5, (byte)0x29, (byte)0x3a, (byte)0xf2, (byte)0x17,
(byte)0x3c, (byte)0xd5, (byte)0x0c, (byte)0x6d, (byte)0x5d, (byte)0x35, (byte)0x4f, (byte)0xeb, (byte)0xf7, (byte)0x8b, (byte)0x26, (byte)0x02, (byte)0x1c, (byte)0x25, (byte)0xc0, (byte)0x27,
(byte)0x12, (byte)0xe7, (byte)0x8c, (byte)0xd4, (byte)0x69, (byte)0x4c, (byte)0x9f, (byte)0x46, (byte)0x97, (byte)0x77, (byte)0xe4, (byte)0x51, (byte)0xe7, (byte)0xf8, (byte)0xe9, (byte)0xe0,
(byte)0x4c, (byte)0xd3, (byte)0x73, (byte)0x9c, (byte)0x6b, (byte)0xbf, (byte)0xed, (byte)0xae, (byte)0x48, (byte)0x7f, (byte)0xb5, (byte)0x56, (byte)0x44, (byte)0xe9, (byte)0xca, (byte)0x74,
(byte)0xff, (byte)0x77, (byte)0xa5, (byte)0x3c, (byte)0xb7, (byte)0x29, (byte)0x80, (byte)0x2f, (byte)0x6e, (byte)0xd4, (byte)0xa5, (byte)0xff, (byte)0xa8, (byte)0xba, (byte)0x15, (byte)0x98,
(byte)0x90, (byte)0xfc
};
byte [] salt = {
(byte)0xe3, (byte)0xb5, (byte)0xd5, (byte)0xd0,
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于BigInteger类用java封装的PKCS#1 v2.1 全算法实现,模块与规范一一对应。包含 I2OSP OS2IP RSAEP RSADP RSASP1 RSAVP1 RSAES-OAEP RSAES-PKCS1_v1_5 RSASSA-PSS RSASSA-PKCS1-v1_5 以及 MGF SourceAlgrithm等规范定义的模块。并在注释中对应文档各个部分。并部分实现了规范附带的TestVect的测试脚本。 用C的朋友,请参考开源项目openssl对应的源代码。 本实现完全以学习/导读为目的,在性能上没有做太多的考虑和优化。请不要直接使用到实际项目中,建议使用sun自带的Cipher等类。 bug反馈: zoudeqiang1979@tsinghua.org.cn
资源推荐
资源详情
资源评论
收起资源包目录
javaimpl.zip (29个子文件)
javaimpl
src
com
broadthinking
pkcs
pkcs_1
EMSA_PSS.java 8KB
PSourceAlgorithm.java 1KB
MaskGenAlgorithm.java 1KB
EME_PKCS1_V1_5.java 2KB
PKCS1Exception.java 1KB
MGF1.java 3KB
EMSA_PKCS1_V1_5.java 4KB
CryptoGraphic.java 5KB
PSourceSpecified.java 620B
rsa
RSASSA.java 1KB
RSAES_PKCS1_V1_5.java 4KB
RSAPrivateCRTKey.java 2KB
RSAKey.java 952B
RSAES_OAEP.java 5KB
RSAPublicKey.java 1KB
RSAES.java 948B
RSASSA_PSS.java 4KB
RSAPrivateKey.java 918B
RSASSA_PKCS1_V1_5.java 3KB
EME_OAEP.java 6KB
DataConversion.java 3KB
test
PSS_Int.java 9KB
TestVect.java 1KB
OAEP_Vect.java 6KB
OAEP_Int.java 8KB
PSS_Vect.java 108B
.classpath 232B
.settings
org.eclipse.core.resources.prefs 88B
.project 384B
共 29 条
- 1
邹德强
- 粉丝: 217
- 资源: 11
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页