You've landed at the right place. oDesk is now Upwork. Learn about the new platform.

Cryptography Jobs

2 were found based on your criteria

show all
show all
only
only
only
show all
only
only
only
only
only
show all
only
only
only
Hourly - Est. Time: 1 to 3 months, Less than 10 hrs/week - Posted
Expert C# and/or Java programmer wanted for cryptography project using HSMs including the Luna PCI family. Generic experience with C# and Java with limited crypto experience will be summarily rejected. Lack of odesk references and experience will be rejected. Ratings less than 4 stars will be rejected. Basic SQL knowledge required. Work product will be a library of functions to retrieve, encrypt, and decrypt BLOBs, and log to an MS SQL database. Public key encryption and decryption, as well as storage of key pairs will be on an HSM. Hashing and signing of each BLOB will be part of the requirement. AES-256-bit encryption/decryption implemented in software. BLOBs will be retrieved from a specified location, and passed to the encryption library for processing.
Hourly - Est. Time: Less than 1 week, 10-30 hrs/week - Posted
I'm looking for someone who is an expert in bouncycastle security APIs to help me debug some code. It works 99% of the time. But once in a while I get an exception (org.bouncycastle.crypto.DataLengthException: last block incomplete in decryption) Once I find the right person to figure this out, I will provide data to replicate the problem. A code where the problem exists is below: public static DBObject decodePayload(String initVector, String profilePayload) throws DecoderException, InvalidCipherTextException { byte[] secret = Hex.decodeHex(PAYLOAD_SECRET_STRING.toCharArray()); byte[] iv = Base64.decodeBase64(initVector); byte[] encData = Base64.decodeBase64(profilePayload); KeyParameter keyParam = new KeyParameter(secret); CipherParameters params = new ParametersWithIV(keyParam, iv); BlockCipherPadding padding = new PKCS7Padding(); BufferedBlockCipher cipher = new PaddedBufferedBlockCipher(new CBCBlockCipher(new AESEngine()), padding); cipher.reset(); cipher.init(false,...