1/* 2 * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. 3 * 4 * Licensed under the OpenSSL license (the "License"). You may not use 5 * this file except in compliance with the License. You can obtain a copy 6 * in the file LICENSE in the source distribution or at 7 * https://www.openssl.org/source/license.html 8 */ 9 10#include <openssl/rc2.h> 11#include "rc2_local.h" 12#include <openssl/opensslv.h> 13 14/*- 15 * RC2 as implemented frm a posting from 16 * Newsgroups: sci.crypt 17 * Subject: Specification for Ron Rivests Cipher No.2 18 * Message-ID: <4fk39f$f70@net.auckland.ac.nz> 19 * Date: 11 Feb 1996 06:45:03 GMT 20 */ 21 22void RC2_ecb_encrypt(const unsigned char *in, unsigned char *out, RC2_KEY *ks, 23 int encrypt) 24{ 25 unsigned long l, d[2]; 26 27 c2l(in, l); 28 d[0] = l; 29 c2l(in, l); 30 d[1] = l; 31 if (encrypt) 32 RC2_encrypt(d, ks); 33 else 34 RC2_decrypt(d, ks); 35 l = d[0]; 36 l2c(l, out); 37 l = d[1]; 38 l2c(l, out); 39 l = d[0] = d[1] = 0; 40} 41