- Updated examples to use appropriate sizes for larger RSA keys (up to 16k)

This commit is contained in:
Paul Bakker 2012-10-03 20:35:44 +00:00
parent 3ad34d4110
commit 1d56958963
7 changed files with 25 additions and 33 deletions

View File

@ -77,20 +77,20 @@ void my_debug( void *ctx, int level, const char *str )
void write_public_key( rsa_context *rsa, char *output_file )
{
FILE *f;
unsigned char output_buf[4096];
unsigned char base_buf[4096];
unsigned char output_buf[16000];
unsigned char base_buf[16000];
unsigned char *c;
int ret;
size_t len = 0, olen = 4096;
size_t len = 0, olen = 16000;
memset(output_buf, 0, 4096);
ret = x509_write_pubkey_der( output_buf, 4096, rsa );
memset(output_buf, 0, 16000);
ret = x509_write_pubkey_der( output_buf, 16000, rsa );
if( ret < 0 )
return;
len = ret;
c = output_buf + 4095 - len;
c = output_buf + 15999 - len;
base64_encode( base_buf, &olen, c, len );
@ -114,19 +114,19 @@ void write_public_key( rsa_context *rsa, char *output_file )
void write_private_key( rsa_context *rsa, char *output_file )
{
FILE *f;
unsigned char output_buf[4096];
unsigned char base_buf[4096];
unsigned char output_buf[16000];
unsigned char base_buf[16000];
unsigned char *c;
int ret;
size_t len = 0, olen = 4096;
size_t len = 0, olen = 16000;
memset(output_buf, 0, 4096);
ret = x509_write_key_der( output_buf, 4096, rsa );
memset(output_buf, 0, 16000);
ret = x509_write_key_der( output_buf, 16000, rsa );
if( ret < 0 )
return;
len = ret;
c = output_buf + 4095 - len;
c = output_buf + 15999 - len;
base64_encode( base_buf, &olen, c, len );
@ -174,7 +174,7 @@ int main( int argc, char *argv[] )
int ret = 0;
rsa_context rsa;
char buf[1024];
int i, j, n;
int i;
char *p, *q;
/*
@ -198,14 +198,6 @@ int main( int argc, char *argv[] )
for( i = 1; i < argc; i++ )
{
n = strlen( argv[i] );
for( j = 0; j < n; j++ )
{
if( argv[i][j] >= 'A' && argv[i][j] <= 'Z' )
argv[i][j] |= 0x20;
}
p = argv[i];
if( ( q = strchr( p, '=' ) ) == NULL )
goto usage;

View File

@ -1,8 +1,8 @@
N = A1D46FBA2318F8DCEF16C280948B1CF27966B9B47225ED2989F8D74B45BD36049C0AAB5AD0FF003553BA843C8E12782FC5873BB89A3DC84B883D25666CD22BF3ACD5B675969F8BEBFBCAC93FDD927C7442B178B10D1DFF9398E52316AAE0AF74E594650BDC3C670241D418684593CDA1A7B9DC4F20D2FDC6F66344074003E211
N = B4752332286D42B58117D2BBED26599685CFC9603EFD25422FB5B9ADE18803B862C83A470BD5CEBB5139AA228A1F7AE30E232A930ECDBD352ABEA806C86AA699E35CC66FF479948FBA3D53D7142445A885DAF55AB50945E8BC71E21FAF3EA5BF607775B8F64A6E5DFE256FCC00F165936FD04F6356BF3D660BA6D7ECAC5654B8D5E29D20FC2B5DC95D8F7877C75FCB5CF15135F1A340413A9F9E4617E7CC66A0D37649E6A9446DB1944AD5A9D5B0A99B55AA9D8CC66115D853B542F5BBE118CA5CF4F792ED21BBFCF3E25AD5749E2BC00E1384D7D0E3413822FD2766B8974C6F4F363E16D55499A252C63738C6E3D24AA6ACD0F95BB073C99DD4486E952AA0556558F8B6FEC4CF381BFFF0280539F997528BE1D5FE62C8269C8D755589092FAA47DC9F1978D701BEB41ADC940F85770496978445F0D1B84E6686DA2459DAA17482646744885737000F8165038B1F72F865AC9C0C4350F38691B61DE5B177F20CC2670E926FC61CBD0C6485F9FE1020BEC5DAF579C21F4B52B7DE70B0FF0017F1EC1CE31B5E8DB47D369322749176945BD7F3319B6D04320AC3F4F6F42D68DEA25430C00607DEFE77685FF166032CABF524FD0D1C59D0A00F2074B7D0747D164317C3521F448CCCB76C0CF541C0BF34AD8D988E6D38C05B09A347E3C001E3B5B124FD9E28526BC82AC61EDECE45A6163568612FD93F5E181D45F117513C42F4116E7D190F7128F50F93A5265F502E81D0C1EEEA301F738EB580079D3BDF1A05346B7EADC3B47D8B2B5E96837990A06A71ECC5AA7077AFFC485047AF7F54B7BD8B0161BC49EA1FB9B0E7D9FA142B857951093F4ACC2EEB387125D854E727D2C2ECD8721912865B61BAD6A896C00D3D42768DB0501C0E23000C49DB3090C51B328D346763AEA52D99DB689325FCAC8C495F0BEBEF3B720283FE1CAA904A41F0B0F22350BCD3CF46BEFC854CB45B2421AD8FEC7E74E38C9F9448919924F7213F8028114977088584FEBA8C25EB0F1EE484FCAA9E1D976DE12AD104355F93C49B4443938B22AA0FABA55CDCDAED271AEC3588F709E5AC1CD147D82AC47D3B12D31130AE568DDDAA835EEF41EDCFEB699AC91A815AE171378D4E6C034FDB11FB8AD583A355F3AB1D294BFB4C46694A3AE138ABE622EFF07B3AE5C8F6F62D195B45BE852FE94B42BEAAACB29FAA483B864B4E73A61B1484E19EB9B3C1DE3F6EA839B3CE7D21AAE8C59BC4A778E6373234D65CB951A91BC5DEA0DDCBD3BC3A3ECAC55C3C2324F3459E6349322AECE317423CB8645B638629047F5D46AA1F1B33C661FDD48A7937203B21507929FC5D4E67ED83EF2CCE52AF026969E301C619E706D0D9A74AE68B64D713B4C7773DF565B5AF20B6F949E382B359B5FC83843DB656F27191D18DD557485D0DE7769ECB4EF394C44A6F8C32461215F2CC6FF10160A17EBECC3867903F5E6DAB491BDFA9731A903D4D229E4CCFB3B40851F8854160D114C70A9BD7F74F47FF6A297CA28C9DED6DA18EB1558BFE9FC68E77EB524346B5938EA618138FA5B4CF68D401BF772CA53E308035A61B7B6D666A6D45912972FDB1F1BB73768ECF9EE3444A726063341982E7868159AE5C6DF05CA4F4ED494661EEC079AE135EB9D5358FCF17F46531FB7F95761D3C0996F99382BC7279AABA3240222DDBD1E2D18856DE0BCD2C37C34D3857ACB6C1B21BB3B77F6D534AA136B930C533872DC2D48CE1C3E88CDD84305F91831EC442AFEBF54A050428B9B8E8189DA655DBBFBF6B1B42B40BE90482792274911646510E80A298874C0EEBE02377DA11781F9A7923D0EBC3607EDA6CC7219C2E53512BDAE344BA6261EF62B3D6CA50DA5D1EDD2489B8E112EB9A4EBAEE30F8CBE4908941C29751280D780882A66A3A0304DAB3716D4C13F18310DF6B0F4FDD52917EC0F5BAAE5BD8FFB0D1CBBCF1461C1C3685A8B2E984279C4BF093377F34ADCAD9C789F2F6701D753CC77C4D2A804EB69776268351AB79E9BC9DBA760C5746BB84CE739C6DBC4438A0744AF248ABD54899DB253B666F8C2A58560020AA68ADDF909A7D6852CD14CC01EE7E5CE43F00341B1AAA5F93D9A3EEAAA3CD7AAEF59BE721E529D4EDE64FE79A628DC7B83568E2C60437F04DE2ADC26832A38AB7A6292DA3084E7633877B8D1068DCF1FE74301ABAA69C66CB0AAC1373044069E5F552DFE4234B661F8201A2CBF3FE13E9712CA7546B6586E8383F8E2B67B434191CE7E014CC066B7EFE3732486FC65F4CE85A0CFBFB268B93246A4D196A6A3B35276957AE010ACE5AB93F8214EAE61964E9C842577BF66F94D51CF981B5939D84DD7C078702A921575B3DBD26E9303FD005A9B4A8CC84BF8C11089FB3F1EE01B60DF62F17A859DC788FE06216D2BEE7FFC282AF42A96806A8FEEF8D300C65258F4A49525E6A6D752EF83BC344339C85682D6A6364BC82337832B0F3B951DE0FE6EFA021A37CFBD7F3BCE1C59C0285FED015BEA6103DCBBCD6826908AF3D68E26D62B8034DA0E3D7154094D51B6A669BA159BB7B384668F168474EB5326B611E24EA78E8E7F27A75FCC35E120A99E492CE0708FC1DD92C1BD0C899D7D9250B836A4CDC2F7E2467663A748E050B6311FCD1AB4DB49B0C95486AD6F03D00180786D6439AC07F72AE8B732F021BA94DE8C49988909B50A8F41F4BA19D37868570AA65893C71255042FEE2028A87856953960E64392C13AC549DA4A334F7F686E1E5C3749942A13A79BFA647111E4471AD32F875176F8AC834D9D5256587DCBB3549891A64A84D48DAD3F31567AB435733133E84AC0A700972A5FD5C06C154286ACB98A238A3B87FB032A35F7EF85CDDFF9AC8D50B771638BD1AED0C88D8837C7717B91880734DCA18A7F608A1BA4763D79B7F41310B
E = 010001
D = 589552BB4F2F023ADDDD5586D0C8FD857512D82080436678D07F984A29D892D31F1F7000FC5A39A0F73E27D885E47249A4148C8A5653EF69F91F8F736BA9F84841C2D99CD8C24DE8B72B5C9BE0EDBE23F93D731749FEA9CFB4A48DD2B7F35A2703E74AA2D4DB7DE9CEEA7D763AF0ADA7AC176C4E9A22C4CDA65CEC0C65964401
P = CD083568D2D46C44C40C1FA0101AF2155E59C70B08423112AF0C1202514BBA5210765E29FF13036F56C7495894D80CF8C3BAEE2839BACBB0B86F6A2965F60DB1
Q = CA0EEEA5E710E8E9811A6B846399420E3AE4A4C16647E426DDF8BBBCB11CD3F35CE2E4B6BCAD07AE2C0EC2ECBFCC601B207CDD77B5673E16382B1130BF465261
DP = 0D0E21C07BF434B4A83B116472C2147A11D8EB98A33CFBBCF1D275EF19D815941622435AAF3839B6C432CA53CE9E772CFBE1923A937A766FD93E96E6EDEC1DF1
DQ = 269CEBE6305DFEE4809377F078C814E37B45AE6677114DFC4F76F5097E1F3031D592567AC55B9B98213B40ECD54A4D2361F5FAACA1B1F51F71E4690893C4F081
QP = 97AC5BB885ABCA314375E9E4DB1BA4B2218C90619F61BD474F5785075ECA81750A735199A8C191FE2D3355E7CF601A70E5CABDE0E02C2538BB9FB4871540B3C1
D = 6DCBF3BD39F1B8ABFCBEC4FE88BD53B70CF5AF3DFB35452D2F202FB887479D93DBAE9E1ECA29ADDE34FE93F0EDFF5762BD205270258AB2BB9DA56150B73284E98EF7CCD92373B21B7D22815794AEB91F5F4A290CA6A7DCBC4DA431043C392ED9F154DDF0CB11E0731A06272E85C85A98496902549BDC41FC4BCC99062C995E7513D60CEA9BE3BAEDA11A811EC7D5164417A3E4E18005C16A6CE1FD1DE07072651A2497B45B7B020F10FE3360615F5AE2E34DAB0C934B50E24D94350894E6D19196DB89A300DB0CA94CAE85BBE877B080EB4F9EFD3CE078B7323ABB75798CBCF9E0C54D23D16AE70B67B7A8B3C7F7A7E4B9E2DE474A2D6355E1CCDEC141CB2CC0A8A868B3D6F1626F6E41DC1A4D8BC7BBF5829CC6FA3F9A2E3C04A9C680597181F6B55AAC41E4F7EFD35FA0A40989982FD77C9B037F11EB44F086CE455DD27378133A09C71DF98AC263ACC40C52E2B0AE4816ACDF9D39ACE24CD7F4FAE36EEA7C2EF04B6277D59F78BB0892A7D7987284009847D16C7663FB115AAB5055E6F5AAC19195F0FA27D810735B34949E48FADDA2D81A6FC9F5CA88D84FBCCE36AEDEFEFFA0A5C54596BD5763CF346E703206F2622E01832576955C7ECFE56354ED22D571A8EAD7917AE5B8186B0DF292D703B3313B083596591B4B12E8D3BEE8A766CE40867B6B6732A318BB70DEF9BC50E0A4603CF9C302163B2FDC75634D8F0FE1B6957652001E46E04C38F63C11B41487F1BF7DA149E469080490C0913F73703E88757B1F38BB21C3C2808BADB51275382ED6F431CEBA53FE78F53798A52DA39A14F0A349CFE33EA859E5C7AFAC040AF314863ED740C2AF65A91A70B4BFEC70051FDC5617C138B473131E36777AA4D38813E003CDCA3423C18CB8873FD665C7358BCABDB95DF2AC7B378F3A30DBBB14A433CB6A2326152948AC1D3EFE09E07315064ECC7A0799CF1EB74057BA48D60413B9451870005F785CDD86911A77AEE8170EC9EDDC19F83B424DB8A5FD8E36AAADEB99D81883215CE61344AF40D704C1BFD829F67701E804F4D93A9B8DBDC458C1FDF2E937AFEFDCBA0CE180A9FD7E67A3C6EDDC45F7001F6C6CC0BD744B74F6B3B387CF06EA3EF5A028821F5D5864A7456011CA6336D2C864ADA2EC18760CBB2A2315245EBF000B86F22EA8FC29B86A0810BB6503E0B967D929D991DEDF30C7B3151494D7783E5AB7FC9251AA60A6C46D0D8EFF2420FAD2DAE556DF23E84D53BC1919817E1F7764836ED806679DFAFBF831B2E4718C0361BF9061A3BE4C5185E65F51678DA279551128C4ABA67E6B0F06450277DC3DA51C90FD17B9AFFFDBA61D273228DB1016B492B38749C44AD7CFCD0E47B95C48DFBFE2B7966AC15BC01EAD16073998CED657182E6ACAD44D943B71345ABF247635D640767BAB0462A63BF6EE9F4E3AEC7D669353262D0A3C84263CE9B8435C4ED6596DD28660C1AAA875E0F1028F4EB289434C9867C8980AB7E8B9E47D6A3A1ECBF31F9386FDE8E87D00B8AAFD084361317A8AAC9E7F5688083D82D06C1EF179627181F1C5BD603E48F2B83089464ED89CDA39A59F757FEC7774B705986533B27D0F6D41D8403B88FB4443AB01CA0D018FB14522186E395A743C9FC17991F93B702124461515FA6CBF3128B84253B879DD87478C6B449F29B521D9D7C6DF997930A14746B3CB164DD6DA58A2680CE5C684855321F68914A47FAFFDB8D5C727D1D727EFABD3234D602BE65A203451FA920CEA654341ED2075ED0B4DD7DCFF03AF4AC5568C0C525C053678A32CD667DA5909800A9AB27A10F574C6E59C6D681763A2DB84C8CB2076292F97A33BF97F14F3E9EFA510B1B8A4E6CC7323BDB16E850197C17FF04BCD26F4AB904D1132E3E2B9586F7D6F89219DBD5BF7415E2FE4104315A11F4C0BC3F4BEE14C3AD8F1358D817B37113467E4EDD9CE631600E421C5DE4432D2DB0B02CDAAD8C6197BFB23AB51446AEF199CE644E679CACB128463C283CFC970CC59F106C436DE07CFC07C3D5575999AC10202597B0CF3A54DE0E2138BF482B59A32DD3809C640CB9F56F682D4ACF2EB76F74DD2DCE73D5596FD9B8A9FB9A7B82A4BFB77E9EEF18B64096C8FB1DEF48A2154A8F5347CAD0FCF9370806FA6E1D83B323AB805A961A3FBA76EED2305DE90E49472D007381BE95DF9D584A96EF7398AFB9DA993E4833CF10669DB2CA56F4CF561E4EE2CDD7F2804BCAACC15411328BE17B7537FE3A214825C04786422125166BF679580DD0AC25E9DD912CD53FB23CDCC45BBA9CC6125325B898AABA664B82EE6A091FB24F4A7EE0F503225E2FAE2047F05AE25B6B280B95271778ACBE8169BDB931027E656A124E28E87D5AAC0F0626A6B5DBB22E9102D335F04C190C7C05A222E941E572CFDEB785CA596F3168927E41883A2F5DA8B2AE222274B7216E73741A6E07023A562103202F4DAF6D8E767516DE5F082A3A16B899C7462E19AD402D07FD13BA57FA8E4FFFD6CDE153E2CC6CE16690E45147165246A2E550FCC2E189C0781968EB6970F14BD4641E213D8A2A2F1AB22E6DAE123D8629A9DE6E03F8DE76261149B6AF239BAAF1FBEBF93F503FDF63957F34D7236400611382D0318FF07520D3C1EDFAB0071259A7D971DEB1B61F85206A110DFB75910C8011D829D6E1F710101C9C100A09337A4952BD2C516E2EDBDEFA722189032BC3CA217CE912BF8623B07D82F793F8EA97A401641F8BC7ED419D142DBEBCBAE4AE52B2D808DEE7645874508731C693E0901CD45E19146D21783D7C0A24C05A57178714A1F3EE8F425DC7B002847CED3F357C6CC1F8EBCBF8C3AA8AD50430B44904FE5D3D46A747F030758FEFEC413CE1D1440971DA98E301EDEF007B214BB18D9FE8C0A923721C216C34B8AEDF231
P = EA60E8EDBA3F1449D296D08AE7FD294AC6B10C5023D04583BCAC5C0F126CB4D0213A82C68CBDD24CF5545E6AC825E10597B51C228D6421E9C659F95F84AFB0ABAFF9D16D4B44A8E8664CDE7227795D1A22061B9FDC3A0AE476B5A66BAA4A19B37D1FB958493096C0BE3738BBBA3B3A425ADAEACC3EA3D59A49D9B6FC52B17D5F0923D18D2775191DAB4124B518A416426035870599459D147BF374A949CFB5CAF37C9AE9E0621E29340399DE74DF2694C993DCE0D88CA47E090D62DB07F90CA9A7E514190D20E5264CDBA162EE0A252FEFD91E7E05BA0DD07C6D830F7C4E731A8EC66897B8D8B528E7A0B9095EB8884AA0BDE72E21311702797386642CBCA522618FDDC5734ED5F2C1DFDD6D7A574E6A0A6F0C903D9DA57A6524AEE1046823A35A431188E3769F4C1D546EE7A888106C73F0A1EB96021998D3DE3B5167CA841641BCBDAB5E170B63E524A8C12896E67F65A467548499FFE4E4A4AF0C458813B06F0AE4F8408A1DBB465EBDCE7DC9D33684CBAD9B82D0C8753F5C744EB495D31C109E71401AF9211B7FC2EAAD7A20564019A633A7AD7562B14D78998C50682D94E2D9445292D427E164B2BC1607F1D27D22EACEBB51A7A7C018762127CF3ABD40D59F9952A3B348735F70262F90D62E04D107EC3802FF1AF78A702BDE07605B5B9A16E9D1EAEC6B7A475A7CF149C74B2EAEF55AC934CCB087C70B7F80E88DD5DD083160E92317BD0F62B616AEAC7D198569E4D25FDAE082484EAAAD89CA34C0606EFF2ED90423C8DF7FB48891F58FD2BB7B1C7D0F26DDBB5BBCF5D39E5751E63B15E7E5B51B8B5B1EDE0813DCC9B185C68ACD774574DD1CAD27D94A148E61883E809335864E47AFD25C6669AC8F6983D7C443E19DA375E3C50ACBD3E9E86817875F341E5459E132E6A92E584363B3F4231AF926C74D5867170A8C6E52214E825437E99B876795FC047FEC0C720F6F3BC209DB5217A90C30D049B9F27C2A9729FE894882B31AF517A16F03585EE983C689BFA8ABACD13A7DCDA08E5F6D5EB6250FCA792FB61148BF90ED0A980164105C8BA0D3A61B9FCACC060E55AE10B7279589710A622759EC412385448988A21E2590612D5E1BE53C8D6D4525A8902AA7A7AB76B19625E8FCEFE76B92C8BB4CA0B16F225D2D0BDD2C5D839D54639AC97DF23CD6F75454E3E640E3C5B90D22A926CB693E93714DE457B91537FB6CD5F1CE0CA4041A09780B2ADE068E1DC52145C57CBB2EC01269E90CFB4499500B8B874B317F77414E841A1E68AE7BD35C8EAB156F35BB98AB5499F8DC4B1E23D2F382B5406649DA32DB4EE535A0E21AED95322BE2F76D5A0914A5A3668FE39175A8FE817DC8A6A65F7128D49687B48C5BFFB3980B219FDFFF937B7872DACE07908134F43B1F1A9927AA5E1F525C488B9A5021E2CAB976B9F006C0C0F0DFCC0EA0F8F5A91849
Q = C51AD4039D3545A2D464861E1E6CC7A7F7C247E387746CD620C61AF9E7E07C4E45219F218DDF917D12471641BED3DBF6C35BD45B3C22C649955DBEA7EDDC753F833AB9BB0AB49CC812FEA3354CA7C4873A1509524501BA58E00B0E6D7ABA342B7B56A8F04707565376BBAF9A0705952B837EEEA1A97FDEAF9F2A49799A4C1FE6F938CC9A237275113DE27CC96DB956177D63D066A4EBC5B9829C19D0CEE3E022D4AA82EB62AE39CBBC699E8951D729C1C5717D195AB599F63B7276FABA59AAE25B51D080815730CBBF1C6767E6E8EB6BCE6546155940C43F7F616685D07055B4D071DF1893B262E071D5A6A13715B15B8C7B14779EEF934C372FC4DB30B69F65E5262D0C4A3E1FEBA2DDE133AC83EF01DDEC57F872A50C75AE7B3968BC21B5B9A6BBFEBA5CB62DA1FE6250FEEBFF17D8216435008AB99292ED6FB4BE30F87A831E19F0E0264A5ECACC46A967257D56A3B1210869827F8B9E2EFA94D63D53089B7ABAD7DCB978227B4562D59C87B66DDC8F620A1C531734410EA81E918D79D16984F8FBDDE2456EE5FCB8E8BFE31CBC1885A3D99BFE7FED6880C184835A04A254DB744E96F1DAA4376F4E03AFD71945C399492E517B42258C09E635D5B968414DFDF6D80B8B0B388CC998556582EF1726D4FC3AC41EE8D1532B8EC1BE05B20DD015278E203045B9C8D757723803D5BAA528E5033D028527AAEA63E4226B6D53290FCD6F37B4979E2AAC452AD1B6A0BE9B47837235A691BA2EBB2FC6705A9F18944AC4321B9BDA00F173020F0CC32E036D5CA85CDC0114AE3DD6A59116C0E83737F1B92318F2C52C45322FEBC934534B3F6B117C044F72C42B9C6772BD5ECAFCC29F786645B2AFE203CF38B2EE15677E1A912874244F7FEC8A2065BAB796D904871B2805520833C1B24527E763FCBEC533C3222E9AAA0613B590F275DE040712528A3E96C52A675D2E040DA09709412EE682E4722FB84DF0BA83CB09B5304657C74EF49B08CC8395187A8A0D98554AB24699531714429AE79EEB7BA35F057B792C9E48FC549E8FDD31C2F2C170DB97EC0B2523264DCC01E583A58B398F4F85D5CFB3AD3B440F907B8C4C8F5749CAF2BE46126259D567C1D69B5DC64E3615DA01709E781F6A38D9CA62F15C69F16630E603846BEEDEE958C41A1DC13346F1EB90B712BF6D1D17D67522CAB3CCCBDDB65F700E35E249C0B6B776FB13A0FA333309711B9F86CF48E329BA5F5573670A1E287BFCF1264D211149BA8B316B0E3FFE586CF4E7D2F0EB07FAAB427873BF3620A781E3A501C8DC31FCC568CD9D5E874819AC93C0DB45E5F648E6453B42C5AA0D495E39EDB73F2E1CAB2C50F80CC639E7B7444FB19186D0A628C6354B235413C593BCE4C58A26DBC598D3150D56078755BC4D917E7AC43598A314E3793B08819B074F9A83D1EB8D3BB680D646B05342D786B3
DP =A4422ABC80ECB8614C6F59D41FE5F2CC6F17A1D38065F471F106B2B5F569AE06B762F4480656FA4DE919A9DA184F43B6D1ADA1FC2D2F61FD1E7FEC1F1F34AA12891001D021120B76644BB71235CBFE8DD40E87C9AF6416422B57FF3C316A213D0391FA297F91C7F568D9F6AECA43BBFEC901E7D0208E5DA2F5E2D9355916FF105DAD76AD005C36AFEE57874C4BEAA396FD2A46688C149793C592C7CDE4E6E7374711AAD801E381D3CA9A4379FE5A6E059488462266619ADEA1A57A049B3FD5BA08EAA8FD2D9042486750FD7801EFA6444449DBEEE2409471EAE22D19EB3A67BCD31706325EDFB186EB5E5E8FCC8C73282A232D23CD2B443EFDB3131A9DA7CFEB9A88631A80475DF5F61DD867637850824CB1AB1263BC5A3EBF27C84FF6F0AD194CA6F86101591F270EDF1FA2C72024B27D46C593FFDB94E8E0833CFB3E4C55E9EB444581163DFC439451EEDB0081512533ACD6A60B108AA076055C90B3223CFA47B850E4130738F308CC5925A04E93F1FF7B673E379DEEFF0CDAD4C05C1B2C8ADCB2CE17E94F73FE7BB9B512C3266A8C1DEDB701EAB4FBE7DAAD8C9F23B2FF4EFAF4DDC72913FAA72215896FBF3DA11106299D9CF60B13ABB2F9071F894257645AD2B177933690AE1AD2D4503DA77D34EEF22880D0C8CCB373984D861B9152358E76448453AA4160BF2511AF60CF85474062BFAF878B74A493C0E1290CD26A71AFCE3B66E8AB385AD2095F3827B6BCEE1D5ABA7D673E34D04C219DE1958F06CC0EBE54ACCF13ED3185A4969A0489395D1F58C5E49A8E874231D9EEE767B7042DA09A97082837B0329FD4F566A50BFEFF3843EB350843F656FC38728C99848D2190A69ABA779E1200D1B50C965D23CBBCA9D61106938A89888C9A70F7DB63282A3D749F54EA70C3659867DC7FCE1E4E19544C0CFB5C9F7A1051DA3D6EDDDCD1C6083176489D36261B5933AB3D3CC7EE0F7D2CF20996F5EE37EB939FF79939BBBAA1A7E9C1704118C090B6BD76371D9D44E8C7631988C0FF6DDEFA28B2D3CFBF85A396EEF32085E58BC234CC771D13C26830DC63EBB43F4261742664095EF324FFDFF330FAF730762E58B5C1D5BA187AA70713EE828A53B7A23EF5B77EE20601A24F5B0229AB71A9087D01B0206401B2987A72E6A10BEE8DD331ADF4E88411FA74DD0B1555312B2B8AF6054CC95FD6CA7405E0FB6565847D37FBB5FF7EA92A88FD61CA859C55E7431740FE682B7B647E9808999FCE0E0085107C89F6AD60B2380C671DA3D33D22D6A6822D8D0E87A44BFE526D1A95FE1AC4F8F8348F210E17CCFC6301C2E6A4124B5567610BE4A5F6CFE82C010FA022BDB3A160118F6E527F9A11C7898E16165176F5C07925F8BC7AF0422E73A4004E6609C882E0164C173A9B3C9F3D7AE91171CE1CD2D2D3E118FE82A91C260FAC0BE6AC698BEF2CAD8E2D65D1
DQ = 77D5D0D305B08ECEE9BCD841D593A36BBED992E585C4462B85AF8C55262238D1497CA08840FE8D30F27CDFCE471BFD9F30B5530DC929074F538DB44DDAF2EF2217420C0BE8FD5858D81B92D4E3EF18307322B91118BD6D337DBB9B20FABDDCDC16D7E04C7D92BB6C7142B907B77F306B4D3E4E0D61C5497993169DA75E252C3C3C87C8F569D9BBCD28C7DBC0878268124DFCF286857C87313B7476C99A0FB784D5B179796CFCAA4CF11771F8E11624E0178FE15419EF5155005D9E72DFFB8646AAE8BA107712B0AB1F5D408D4E398C707602E2B2361A87766796AB436E2FEE1BC9A381D52A6F0968962D246ADDD7C585F88A182E8625F8731D1660E436E0C156AD1421CD58121F4C1F30312C3E95D4295968C92F575C7B8FCCEE44402629849804044661BDDE512E2D404F283E0950D0E9B447F9355E8FFBDE79CCF4D947290D30AEEAE10CC6A88D39D738456AE8A255516AD8F7750CE0B0E2B51CEA884C446E6B16D008F58651C88AAE055B6EB37E65DB92EABCBFD3DAC4370A05D3CEA522A9B9DBBB1DF2E4EE00CC3F0BDB2654A11373A4E3B7D0EAAC479E0889ED663C6D0994874904C2B480A4E77A1209C5882AFF39E1E1544ED12F8CCDB3F64523BD7BFED40A50DDEBC27DB63316F7CC88E79E36D0C52D6171BD710ED4EBAD653F873A98A953EC382BC128AC30288D5BFB10E5B266839E0D68CBD60B3708567A8ABFE41091F7FFC76977C904FEC9EAB7A80660FC7D653079E7F4AFB29BC1F72EF619C652DA862044E2E38F313D1022604B065DB50EE199DB7498C33AFB969BF8AE7E409C35CDAEC60B4BCF979E64BE410D1C1B22CA90CDCABD16F4A7E3268DFF0E73F16ACE93DFF23E2A6B0A8FE1540026694EA50E5DFF06D882D9283D7C3C2244875B165D6F5E94BA41E560E264D96CD40C944EDD339A0C14952F447384C61E9E6A423C86AA78F614CAD53F15DDC7262CCD419B8A372429592FA1CD74356C88897A2B021541E844583B23D9C71ECA1734BBFE59A7FC798AAAD80D3C74C52DD5A6BAA438795FBC7222192B8D868E1B07E7AA9D2B457FF258D850CADED836265FB8249192FF15B273B5D6CD16C6B15B8B94E532C3DD878840941DA8C1BB28C7026114B34D6A3B74361BAC663CF3AB9109E06C985BC915EA1C02D9221912C014D1EC61A1117D477F2A7204C420CC06B6DBB7C79A8CC147077679C15D17EC9CC98174C171DB1FC544AC200F649E5839D6B8EDD0DA224FEDB9B0A90B1EBD58C549E65707E7710F112711AC83A4669D3A287D378670F12A9B76D34CF4E34E8E627C6C2D69AB9A5E16A1FA044F519116C469DB4D81587AFE5345D716CCFD512B4534570C7B91D3E973F71B751DA0AAA95A2E777EB1E019B72956CE3B4E0E953F3665789C5286F2CE238CB6603395EB2C45D79B5B590AFFDDDC89336221CCDAD5EC1265FCBC96BB
QP = D0C6DDD43AEE90E38938F83DACD2B916D041CFE67C96F9173D70A861A73EEB94CCDF8F91E0C042F1779BDE91C8E5E1B41BA21B2A126C8B207577109B9AAB4BE1A1B485B177CE52F7E1C5EB172C2078E8A60C81386B769F08D0D4CD3AFD4FCFC10C478542D47B98FACFB2B45B7D51DAD6BD24C3EA75D6B9FAD53D68589AC0FA299B95B2DCEDF389BB3E68DE1490A0867DEEED7858E329A2E70B4637653417F4464C228A3E1B28752B33E261232C539E9CF378547EFE99D9D2EEC1A4CB534033E5E506FEB0733566904C641933F260D91238ADFB2FED6BCCA3744203656B3E0C52EA979F704B4141B2A30CF01CE98E117EE4B9CD92921F474B4E032E11DD78F9286A86223F0EFBBEB594F1E061C4F10B022FE88647DFF0D7F008D5E6842FE01C0E75167A0AE14CE58DCFC2D8B46FFDDE865F154D9194E582D01E1E11D656E010379DDAC6E00C87D34498208FB3247F6A29CA21ECEC694FC8AE7093DE1810D0B10A3CE600BD82F92D1D7AC3334507BDAE3CDECCAF7AEFDFC147BCBDA07E7DAAE369EB16FCD900FFDEA9EB604919FA7C6FB6E13A983673DFD3C2C4AA3250333B188F3432CA6D96AEC2375C64DAAE16B3C23C0C31ECB4455AD02B593D42A340A6D37E537154BC89205BB3C5F6F7150B555D2F2D3AD7BB90EA742C7F6377AD7C1D0A9280B7AAC18B513975E916F7AF77D1E8832067314BF95F71F18EAAABC06734DD6C5B552B509DC340EE8D0FD1872DA889726E80BFE4C3EBAA7B88E80DF6E5B78F176AF632211B433C7CBBF4F259707315672103579ED97B6F9C2EE4D2EB124E524F38BD39D2CEFD60448F018300CE7C6D6399E7B397C8F4432E67FCF05B9660E971CFA3C1CA546AD039AA462FAD987C289E2B20A5975B9D288C1A8DDAEB6FD33D96948DE1BE9F03F22BE18268E616B2DDF18538AF64CAD665CE6860966FF526A57814EF4209A8055C83EFF76D62C5CFAE2E3BE9F055A4827768D223E0B13A2697BE769E0EF542306A53D085D65332BE9E25E5BDD81345EE8891C5A1E976D14BCA6E885B82FE4560BEF6DC6DEE9DFF944817FACB4111695268B500EEBCF29078614EDB3BBBDC8E5304FC5E72E942A1203D6C31ECF994079A7E8FA59180C40BF5F6043014C06693DDBD0E48D0368F38A5BFAFD9BBC978F6FC90C9C95F02746D28F6D59CBA0847623652A5C1133D164631C9BAB61C0B7F0F4C08458F04951EAB42146DBD28A04B790C7B9891DC6A4C64F66F4E0C4059C3DBEE7588ED8011240985E2504898DF3A28CEE0D3A89854F61FDC5D266D825A18F6CAEEA7D71FEA7FBDAC9E40A93B76C3F60C621379E0500C0193354FF9F05895BBDAF3B089D357E35D96EE36C70BD4B6A1FDBCCEE0FFFF17C29FD45ED16B4F913D44A1C651761911EA0DF07AFDEACDCEE5FED4DFC23723BD60D573722F9E9F1DFDAE973B02B89BD7466E8FA4

View File

@ -1,2 +1,2 @@
N = A1D46FBA2318F8DCEF16C280948B1CF27966B9B47225ED2989F8D74B45BD36049C0AAB5AD0FF003553BA843C8E12782FC5873BB89A3DC84B883D25666CD22BF3ACD5B675969F8BEBFBCAC93FDD927C7442B178B10D1DFF9398E52316AAE0AF74E594650BDC3C670241D418684593CDA1A7B9DC4F20D2FDC6F66344074003E211
N = B4752332286D42B58117D2BBED26599685CFC9603EFD25422FB5B9ADE18803B862C83A470BD5CEBB5139AA228A1F7AE30E232A930ECDBD352ABEA806C86AA699E35CC66FF479948FBA3D53D7142445A885DAF55AB50945E8BC71E21FAF3EA5BF607775B8F64A6E5DFE256FCC00F165936FD04F6356BF3D660BA6D7ECAC5654B8D5E29D20FC2B5DC95D8F7877C75FCB5CF15135F1A340413A9F9E4617E7CC66A0D37649E6A9446DB1944AD5A9D5B0A99B55AA9D8CC66115D853B542F5BBE118CA5CF4F792ED21BBFCF3E25AD5749E2BC00E1384D7D0E3413822FD2766B8974C6F4F363E16D55499A252C63738C6E3D24AA6ACD0F95BB073C99DD4486E952AA0556558F8B6FEC4CF381BFFF0280539F997528BE1D5FE62C8269C8D755589092FAA47DC9F1978D701BEB41ADC940F85770496978445F0D1B84E6686DA2459DAA17482646744885737000F8165038B1F72F865AC9C0C4350F38691B61DE5B177F20CC2670E926FC61CBD0C6485F9FE1020BEC5DAF579C21F4B52B7DE70B0FF0017F1EC1CE31B5E8DB47D369322749176945BD7F3319B6D04320AC3F4F6F42D68DEA25430C00607DEFE77685FF166032CABF524FD0D1C59D0A00F2074B7D0747D164317C3521F448CCCB76C0CF541C0BF34AD8D988E6D38C05B09A347E3C001E3B5B124FD9E28526BC82AC61EDECE45A6163568612FD93F5E181D45F117513C42F4116E7D190F7128F50F93A5265F502E81D0C1EEEA301F738EB580079D3BDF1A05346B7EADC3B47D8B2B5E96837990A06A71ECC5AA7077AFFC485047AF7F54B7BD8B0161BC49EA1FB9B0E7D9FA142B857951093F4ACC2EEB387125D854E727D2C2ECD8721912865B61BAD6A896C00D3D42768DB0501C0E23000C49DB3090C51B328D346763AEA52D99DB689325FCAC8C495F0BEBEF3B720283FE1CAA904A41F0B0F22350BCD3CF46BEFC854CB45B2421AD8FEC7E74E38C9F9448919924F7213F8028114977088584FEBA8C25EB0F1EE484FCAA9E1D976DE12AD104355F93C49B4443938B22AA0FABA55CDCDAED271AEC3588F709E5AC1CD147D82AC47D3B12D31130AE568DDDAA835EEF41EDCFEB699AC91A815AE171378D4E6C034FDB11FB8AD583A355F3AB1D294BFB4C46694A3AE138ABE622EFF07B3AE5C8F6F62D195B45BE852FE94B42BEAAACB29FAA483B864B4E73A61B1484E19EB9B3C1DE3F6EA839B3CE7D21AAE8C59BC4A778E6373234D65CB951A91BC5DEA0DDCBD3BC3A3ECAC55C3C2324F3459E6349322AECE317423CB8645B638629047F5D46AA1F1B33C661FDD48A7937203B21507929FC5D4E67ED83EF2CCE52AF026969E301C619E706D0D9A74AE68B64D713B4C7773DF565B5AF20B6F949E382B359B5FC83843DB656F27191D18DD557485D0DE7769ECB4EF394C44A6F8C32461215F2CC6FF10160A17EBECC3867903F5E6DAB491BDFA9731A903D4D229E4CCFB3B40851F8854160D114C70A9BD7F74F47FF6A297CA28C9DED6DA18EB1558BFE9FC68E77EB524346B5938EA618138FA5B4CF68D401BF772CA53E308035A61B7B6D666A6D45912972FDB1F1BB73768ECF9EE3444A726063341982E7868159AE5C6DF05CA4F4ED494661EEC079AE135EB9D5358FCF17F46531FB7F95761D3C0996F99382BC7279AABA3240222DDBD1E2D18856DE0BCD2C37C34D3857ACB6C1B21BB3B77F6D534AA136B930C533872DC2D48CE1C3E88CDD84305F91831EC442AFEBF54A050428B9B8E8189DA655DBBFBF6B1B42B40BE90482792274911646510E80A298874C0EEBE02377DA11781F9A7923D0EBC3607EDA6CC7219C2E53512BDAE344BA6261EF62B3D6CA50DA5D1EDD2489B8E112EB9A4EBAEE30F8CBE4908941C29751280D780882A66A3A0304DAB3716D4C13F18310DF6B0F4FDD52917EC0F5BAAE5BD8FFB0D1CBBCF1461C1C3685A8B2E984279C4BF093377F34ADCAD9C789F2F6701D753CC77C4D2A804EB69776268351AB79E9BC9DBA760C5746BB84CE739C6DBC4438A0744AF248ABD54899DB253B666F8C2A58560020AA68ADDF909A7D6852CD14CC01EE7E5CE43F00341B1AAA5F93D9A3EEAAA3CD7AAEF59BE721E529D4EDE64FE79A628DC7B83568E2C60437F04DE2ADC26832A38AB7A6292DA3084E7633877B8D1068DCF1FE74301ABAA69C66CB0AAC1373044069E5F552DFE4234B661F8201A2CBF3FE13E9712CA7546B6586E8383F8E2B67B434191CE7E014CC066B7EFE3732486FC65F4CE85A0CFBFB268B93246A4D196A6A3B35276957AE010ACE5AB93F8214EAE61964E9C842577BF66F94D51CF981B5939D84DD7C078702A921575B3DBD26E9303FD005A9B4A8CC84BF8C11089FB3F1EE01B60DF62F17A859DC788FE06216D2BEE7FFC282AF42A96806A8FEEF8D300C65258F4A49525E6A6D752EF83BC344339C85682D6A6364BC82337832B0F3B951DE0FE6EFA021A37CFBD7F3BCE1C59C0285FED015BEA6103DCBBCD6826908AF3D68E26D62B8034DA0E3D7154094D51B6A669BA159BB7B384668F168474EB5326B611E24EA78E8E7F27A75FCC35E120A99E492CE0708FC1DD92C1BD0C899D7D9250B836A4CDC2F7E2467663A748E050B6311FCD1AB4DB49B0C95486AD6F03D00180786D6439AC07F72AE8B732F021BA94DE8C49988909B50A8F41F4BA19D37868570AA65893C71255042FEE2028A87856953960E64392C13AC549DA4A334F7F686E1E5C3749942A13A79BFA647111E4471AD32F875176F8AC834D9D5256587DCBB3549891A64A84D48DAD3F31567AB435733133E84AC0A700972A5FD5C06C154286ACB98A238A3B87FB032A35F7EF85CDDFF9AC8D50B771638BD1AED0C88D8837C7717B91880734DCA18A7F608A1BA4763D79B7F41310B
E = 010001

View File

@ -54,7 +54,7 @@ int main( int argc, char *argv[] )
size_t i;
rsa_context rsa;
unsigned char hash[20];
unsigned char buf[512];
unsigned char buf[POLARSSL_MPI_MAX_SIZE];
ret = 1;

View File

@ -67,7 +67,7 @@ int main( int argc, char *argv[] )
entropy_context entropy;
ctr_drbg_context ctr_drbg;
unsigned char hash[20];
unsigned char buf[512];
unsigned char buf[POLARSSL_MPI_MAX_SIZE];
char filename[512];
char *pers = "rsa_sign_pss";

View File

@ -54,7 +54,7 @@ int main( int argc, char *argv[] )
size_t i;
rsa_context rsa;
unsigned char hash[20];
unsigned char buf[512];
unsigned char buf[POLARSSL_MPI_MAX_SIZE];
ret = 1;
if( argc != 2 )

View File

@ -63,7 +63,7 @@ int main( int argc, char *argv[] )
size_t i;
rsa_context rsa;
unsigned char hash[20];
unsigned char buf[512];
unsigned char buf[POLARSSL_MPI_MAX_SIZE];
char filename[512];
ret = 1;