Find Jobs
Hire Freelancers

C++ QT OpenSSL, 3000 lines

$500-5000 USD

已取消
已发布超过 15 年前

$500-5000 USD

货到付款
TASK: Write encryption component of a Jabber chat client. I give you a VERY detailed spec, which basically tells you what each line of code will do. About 3,000 lines of C++ code. Uses QT and OpenSSL. I will also give you a project plan with an initial small task to test your ability. I have more work after this also if you want. The specification I will provide you is for an encryption library to be used in a chat application that will allow encrypted messages to be received and sent over the internet using public servers. The library’s name shall be encrypt.lib. It will be made up of 5 main parts: 1. Conversion utilities. 2. Functions for random numbers. 3. Functions for Diffie Hellman encryption. 4. Functions for AES encryption. 5. Functions for preparing forms to transmit encryption information. The specified software will make use of the following software development products: 1. OpenSSL: available from [login to view URL] 2. QT: available from [login to view URL] 3. Visual Studio 2005: available from Microsoft. ## Deliverables All the utilities and functions are described in great detail in a specification document with the following table of contents. This is VERY detailed spec, with over 27,000 words (in English): TOPIC PAGE Introduction 6 Dictionary 7 Encryption Constants 7 Public Primes 7 Random 8 The Class Function 8 The Private Data 8 The Private Functions 8 The Public Data 8 The Public Functions 8 Class Initialization 8 EncryptRand 9 getEntropy 10 getEntropySample 11 randSeed 12 Encryption Utilities 12 ByteArraytoBN 13 BNtoByteArray 14 Hash256 15 Base64Hash256 16 str2val 17 Diffie-Hellman 18 The Class Function 18 The Private Data 18 The Private Functions 18 The Public Data 18 The Public Functions 19 Class Initialization 19 Access Functions 19 Computational Functions 19 EncryptDH 19 computeKey 20 set_generator 21 set_prime 21 genDHs 22 checkPublicKey 23 calcSessionKeys 25 getPublicKey 26 getqHe 27 getKMA 27 getKMB 27 getKSA 27 getKSB 28 AES-128 29 The Class Functions 29 The Private Data 29 The Private Functions 29 The Public Data 29 The Public Functions 30 Class Initialization 30 Class Termination 30 Access Functions 30 Computational Functions 30 EncryptAES 31 ~EncryptAES 31 setCounters 32 resetCountersA 33 setThreadID 34 getThreadID 34 resetThreadID 34 setDHPointer 35 getDHPointer 35 setRandomNonce 36 getRandomNonce 36 setMAb 36 getMAb 36 setMBb 36 getMBb 37 setIDAb 37 getIDAb 37 setIDBb 38 getIDBb 38 setEncryptKeys 38 encryptMessage 39 decryptMessage 42 calcBMac 44 calculateMac 45 calcMXB 46 hmacMac 47 checkSameKey 48 encryptResult 49 decypherMac 50 checkMac 50 myAES_ctr128_inc 51 myAES_ctr128_encryptA 52 myAES_ctr128_encryptB 53 getInitialCA 53 getInitialCB 53 getCA 54 getCB 54 getMyCtr 54 getEncodedMFinal 54 getEncodedAMac 54 Forms 55 Form Constants 55 Form Name Space Constants 55 Form Types 55 Form Fields 56 Form Field Indices 57 Forms Class 58 xqThe Class Functions 58 The Private Data 58 The Private Functions 58 The Public Data 59 The Public Functions 60 Class Initialization 60 Access Functions 60 Computational Functions 60 Forms 62 initializeFormA 63 initializeFormB 66 initializeFormA2 67 initializeFormB2 67 initializeFormTerm 68 initializeFormTerm2 68 prepareAndGenFormA 69 prepareAndGenFormB 70 prepareAndGenFormTerm 71 prepareAndGenFormTerm2 72 B2Calculations 73 generateFormHeaderStart 74 generateFormHeader 75 generateFormEnding 77 regenFormA 79 genFormA2Minus 80 regenFormA2Minus 81 regenFormB2Minus 82 regenFormB 83 genFormB2Minus 84 genFormAField 85 regenFormAField 86 genFormA2Field 87 regenFormA2Field 88 genFormBField 89 regenFormBField 89 genFormB2Field 90 regenFormB2Field 90 prepareFormA 91 prepareFormB 91 prepareFormB2 92 prepareFormB2Minus 92 prepareFormA2 93 prepareFormA2Minus 93 checkFormA 94 checkFormA2 94 checkFormB 95 checkFormB2 95 checkFormAConstants 96 checkFormBConstants 97 checkFormA2Constants 97 checkFormB2Constants 97 checkFormAModp 98 checkFormBModp 98 checkFormASecurity 99 checkFormBSecurity 99 checkFormA2Key 99 saveFormAData 100 saveFormBData 100 saveFormA2Data 101 saveFormB2Data 101 calcIdentity 102 checkFormA2Identity 104 checkFormB2Identity 106 sasAlg 108
项目 ID: 3186632

关于此项目

2提案
远程项目
活跃16 年前

想赚点钱吗?

在Freelancer上竞价的好处

设定您的预算和时间范围
为您的工作获得报酬
简要概述您的提案
免费注册和竞标工作
2威客以平均价$425 USD来参与此工作竞价
用户头像
See private message.
$425 USD 在14天之内
0.0 (0条评论)
0.0
0.0
用户头像
See private message.
$425 USD 在14天之内
0.0 (0条评论)
0.0
0.0

关于客户

PERU的国旗
Nishisonogigun, Peru
5.0
28
付款方式已验证
会员自7月 1, 2007起

客户认证

谢谢!我们已通过电子邮件向您发送了索取免费积分的链接。
发送电子邮件时出现问题。请再试一次。
已注册用户 发布工作总数
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
加载预览
授予地理位置权限。
您的登录会话已过期而且您已经登出,请再次登录。