Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rsa problem #57

Open
GoogleCodeExporter opened this issue Oct 28, 2015 · 0 comments
Open

rsa problem #57

GoogleCodeExporter opened this issue Oct 28, 2015 · 0 comments

Comments

@GoogleCodeExporter
Copy link

hi.
first thing i must to say is: im newbie in as3 and cryptography.
im developing an c++ application and i need to exchange data between c++ app 
and as3 app using rsa.
i have nice c++ code to encrypt/decrypt data using CBigInteger class (i found 
it on internet) and it works. when i crypt something in c++ and decrypt it 
there i have correct result.
also, when i encrypt sth in as3 (using as3crypto) i can decrypt it in my c++ 
app without any error.
problems starts when i try to encrypt in c++ and decrypt it using as3crypto. 
all the time i'm getting error like this:
PKCS#1 unpad: i=0, expected b[i]==2, got b[i]=70
[Fault] exception, information=TypeError: Error #2007: Parametr bytes musi 
mieć wartość inną niż null. (eng: parameter bytes can not be null).

i dont know what to do, it seems that the problem is in BigInteger class.

here is the code i'm using to create rsa key (code from example):

var N:String = 
"C4E3F7212602E1E396C0B6623CF11D26204ACE3E7D26685E037AD2507DCE82FC" + 
                           "28F2D5F8A67FC3AFAB89A6D818D1F4C28CFA548418BD9F8E7426789A67E73E41";
var E:String = "10001";
var D:String = 
"7cd1745aec69096129b1f42da52ac9eae0afebbe0bc2ec89253598dcf454960e" + 
                           "3e5e4ec9f8c87202b986601dd167253ee3fb3fa047e14f1dfd5ccd37e931b29d";
var P:String = 
"f0e4dd1eac5622bd3932860fc749bbc48662edabdf3d2826059acc0251ac0d3b";
var Q:String = 
"d13cb38fbcd06ee9bca330b4000b3dae5dae12b27e5173e4d888c325cda61ab3";
var DMP1:String = 
"b3d5571197fc31b0eb6b4153b425e24c033b054d22b9c8282254fe69d8c8c593";
var DMQ1:String = 
"968ffe89e50d7b72585a79b65cfdb9c1da0963cceb56c3759e57334de5a0ac3f";
var IQMP:String = 
"d9bc4f420e93adad9f007d0e5744c2fe051c9ed9d3c9b65f439a18e13d6e3908";
            // create a key.
var recRSA:RSAKey = RSAKey.parsePrivateKey(N,E,D, P,Q,DMP1,DMQ1,IQMP);

nothing special, just an copy-paste from example file.
same N and E im using in my c++ application to encrypt data.

example from my c++ app:
char input[] = "31323334353637383930"; 
N.__Get(nstr,128,HEX); 
E.__Get(estr,6,HEX); // 6, because i have it like this: char estr[] = "010001";

P.__Get(input,20,HEX);
Q.Mov(P.RsaTrans(E,N)); //encrypt

after that in Q i have 
"6EA16C47A8777245542B4C60FF8B9B6812A543818F5C12622DDC5C15C247AB944C6CEE212EC7DF8
96E7534FE329380EA1DB2A91ED8AB1F27FC1546A849495265"

and when i try to decode it in as3crypto i have an error.

i can decode Q in c++ without any problem. i can decode in c++ any incoming 
data crypted with as3crypto. 
as far as i know im using newest (r28) BigInteger.as 


any idea where im doing sth wrong?


Original issue reported on code.google.com by siara.ka...@gmail.com on 19 Mar 2011 at 10:07

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant