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
Ταυτότητα εργασίας: 3186632

Σχετικά με την εργασία

2 προτάσεις
Απομακρυσμένη Εργασία
Ενεργός/ή 15 χρόνια πριν

Ψάχνεις τρόπο για να κερδίσεις μερικά χρήματα;

Πλεονεκτήματα πλειοδοσίας στο Freelancer

Καθόρισε τον προϋπολογισμό σου και το χρονοδιάγραμμα
Πληρώσου για τη δουλειά σου
Περίγραψε την πρόταση σου
Η εγγραφή και η πλειοδοσία σε εργασίες είναι δωρεάν
2 freelancers δίνουν μια μέση προσφορά $425 USD για αυτή τη δουλειά
Avatar Χρήστη
See private message.
$425 USD σε 14 ημέρες
0,0 (0 αξιολογήσεις)
0,0
0,0
Avatar Χρήστη
See private message.
$425 USD σε 14 ημέρες
0,0 (0 αξιολογήσεις)
0,0
0,0

Σχετικά με τον πελάτη

Σημαία της PERU
Nishisonogigun, Peru
5,0
28
Επαληθευμένη μέθοδος πληρωμής
Μέλος από Ιουλ 1, 2007

Επαλήθευση Πελάτη

Ευχαριστούμε! Σου έχουμε στείλει ένα email με ένα σύνδεσμο για να διεκδικήσεις τη δωρεάν πίστωση σου.
Κάτι πήγε στραβά κατά την προσπάθεια αποστολής του email σου. Παρακαλούμε δοκίμασε ξανά.
Εγγεγραμμένοι Χρήστες Συνολικές Αναρτημένες Δουλειές
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Φόρτωση προεπισκόπησης
Δόθηκε πρόσβαση για Geolocation.
Η σύνδεση σου έχει λήξει και τώρα έχεις αποσυνδεθεί. Παρακαλούμε συνδέσου ξανά.