From ca5bb76d2b8f65aa97e50b633f828c1deb241526 Mon Sep 17 00:00:00 2001 From: Nicolas Pennequin Date: Fri, 11 Jul 2008 16:51:25 +0000 Subject: Delete the svn:executable property and set svn:eol-style to native for all those text files. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18012 a1c6a512-1295-4272-9138-f99709370657 --- utils/zenutils/source/shared/crypt.cpp | 182 ++++++++++++++++----------------- 1 file changed, 91 insertions(+), 91 deletions(-) mode change 100755 => 100644 utils/zenutils/source/shared/crypt.cpp (limited to 'utils/zenutils/source/shared/crypt.cpp') diff --git a/utils/zenutils/source/shared/crypt.cpp b/utils/zenutils/source/shared/crypt.cpp old mode 100755 new mode 100644 index 9c2d33870c..3f15ac64f1 --- a/utils/zenutils/source/shared/crypt.cpp +++ b/utils/zenutils/source/shared/crypt.cpp @@ -1,91 +1,91 @@ -/* zenutils - Utilities for working with creative firmwares. - * Copyright 2007 (c) Rasmus Ry - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#include "crypt.h" -#include -#include -#include -#include - - -bool zen::hmac_sha1_calc(const byte* key, size_t keylen, const byte* data, - size_t datalen, byte* sig, size_t* siglen) -{ - hmacsha1Param param; - if (hmacsha1Setup(¶m, key, keylen * 8)) - return false; - if (hmacsha1Update(¶m, data, datalen)) - return false; - if (hmacsha1Digest(¶m, sig)) - return false; - return true; -} - -bool zen::bf_cbc_encrypt(const byte* key, size_t keylen, byte* data, - size_t datalen, const byte* iv) -{ - if (datalen % blowfish.blocksize) - throw std::invalid_argument( - "The length must be aligned on a 8 byte boundary."); - - blowfishParam param; - if (blowfishSetup(¶m, key, keylen * 8, ENCRYPT)) - return false; - if (blowfishSetIV(¶m, iv)) - return false; - - byte* plain = new byte[datalen]; - memcpy(plain, data, datalen); - - unsigned int nblocks = datalen / blowfish.blocksize; - if (blockEncryptCBC(&blowfish, ¶m, (uint32_t*)data, (uint32_t*)plain, - nblocks)) - { - delete [] plain; - return false; - } - - return true; -} - -bool zen::bf_cbc_decrypt(const byte* key, size_t keylen, byte* data, - size_t datalen, const byte* iv) -{ - if (datalen % blowfish.blocksize) - throw std::invalid_argument( - "The length must be aligned on a 8 byte boundary."); - - blowfishParam param; - if (blowfishSetup(¶m, key, keylen * 8, ENCRYPT)) - return false; - if (blowfishSetIV(¶m, iv)) - return false; - - byte* cipher = new byte[datalen]; - memcpy(cipher, data, datalen); - - unsigned int nblocks = datalen / blowfish.blocksize; - if (blockDecryptCBC(&blowfish, ¶m, (uint32_t*)data, (uint32_t*)cipher, - nblocks)) - { - delete [] cipher; - return false; - } - - return true; -} +/* zenutils - Utilities for working with creative firmwares. + * Copyright 2007 (c) Rasmus Ry + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#include "crypt.h" +#include +#include +#include +#include + + +bool zen::hmac_sha1_calc(const byte* key, size_t keylen, const byte* data, + size_t datalen, byte* sig, size_t* siglen) +{ + hmacsha1Param param; + if (hmacsha1Setup(¶m, key, keylen * 8)) + return false; + if (hmacsha1Update(¶m, data, datalen)) + return false; + if (hmacsha1Digest(¶m, sig)) + return false; + return true; +} + +bool zen::bf_cbc_encrypt(const byte* key, size_t keylen, byte* data, + size_t datalen, const byte* iv) +{ + if (datalen % blowfish.blocksize) + throw std::invalid_argument( + "The length must be aligned on a 8 byte boundary."); + + blowfishParam param; + if (blowfishSetup(¶m, key, keylen * 8, ENCRYPT)) + return false; + if (blowfishSetIV(¶m, iv)) + return false; + + byte* plain = new byte[datalen]; + memcpy(plain, data, datalen); + + unsigned int nblocks = datalen / blowfish.blocksize; + if (blockEncryptCBC(&blowfish, ¶m, (uint32_t*)data, (uint32_t*)plain, + nblocks)) + { + delete [] plain; + return false; + } + + return true; +} + +bool zen::bf_cbc_decrypt(const byte* key, size_t keylen, byte* data, + size_t datalen, const byte* iv) +{ + if (datalen % blowfish.blocksize) + throw std::invalid_argument( + "The length must be aligned on a 8 byte boundary."); + + blowfishParam param; + if (blowfishSetup(¶m, key, keylen * 8, ENCRYPT)) + return false; + if (blowfishSetIV(¶m, iv)) + return false; + + byte* cipher = new byte[datalen]; + memcpy(cipher, data, datalen); + + unsigned int nblocks = datalen / blowfish.blocksize; + if (blockDecryptCBC(&blowfish, ¶m, (uint32_t*)data, (uint32_t*)cipher, + nblocks)) + { + delete [] cipher; + return false; + } + + return true; +} -- cgit v1.2.3