×

Discussion Board

Page 1 of 2 12 LastLast
Results 1 to 15 of 17

Thread: Encryption

  1. #1
    Registered User
    Join Date
    Aug 2010
    Location
    Palestine
    Posts
    8

    Encryption

    Hi,

    Are there any encryption means available in Qt, specifically I need to encrypt SMS text messages and I prefer using it if its available rather than writing my own.

    Thanks for any help provided.

    Sari Alalem

  2. #2
    Super Contributor
    Join Date
    Oct 2009
    Posts
    4,326

    Re: Encryption

    Qt itself does not have, but there are OpenSSL library, which is available on almost all platforms or QCA library, which is Qt wrapper for OpenSSL.

  3. #3
    Super Contributor
    Join Date
    Nov 2009
    Location
    Minnesota, USA
    Posts
    3,209

    Re: Encryption

    There is a native Symbian encryption suite that's not too hard to access from Qt, if you're working on a Symbian device.

  4. #4
    Registered User
    Join Date
    Aug 2010
    Location
    Palestine
    Posts
    8

    Re: Encryption

    Sorry for the delayed response.

    Thanks I'll check them out.

  5. #5
    Super Contributor
    Join Date
    Nov 2009
    Location
    Minnesota, USA
    Posts
    3,209

    Re: Encryption

    I should note that the Symbian encryption suite is hard to find. You have to specially request it from Nokia, though you can find copies on the internet -- look for "SymbianCryptographyLibraries" on Google. What you get is documentation and the header files needed to access the encryption code already installed on Nokia Symbian phones.

    (From a legal standpoint, it's much better to use the Symbian stuff than to load your own. In the US, if you load your own you have to get it "certified" for export, whereas the Symbian stuff is pre-certified. Probably similar rules in other countries.)
    Last edited by danhicksbyron; 2010-10-06 at 00:44. Reason: Spell "Cryptography" correctly

  6. #6
    Super Contributor
    Join Date
    Jul 2008
    Posts
    2,020

    Re: Encryption

    Hi,
    NEVER EVER write your own encryption code unless you are mathematician. Use something like BlowFish, it is much saner:

    CODE:
    Code:
    /*
    blowfish.c:  C implementation of the Blowfish algorithm.
    
    Copyright (C) 1997 by Paul Kocher
    
    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.
    This library 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
    Lesser General Public License for more details.
    You should have received a copy of the GNU Lesser General Public
    License along with this library; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    
      
    	
    
    COMMENTS ON USING THIS CODE:
    
    Normal usage is as follows:
       [1] Allocate a BLOWFISH_CTX.  (It may be too big for the stack.)
       [2] Call Blowfish_Init with a pointer to your BLOWFISH_CTX, a pointer to
           the key, and the number of bytes in the key.
       [3] To encrypt a 64-bit block, call Blowfish_Encrypt with a pointer to
           BLOWFISH_CTX, a pointer to the 32-bit left half of the plaintext
    	   and a pointer to the 32-bit right half.  The plaintext will be
    	   overwritten with the ciphertext.
       [4] Decryption is the same as encryption except that the plaintext and
           ciphertext are reversed.
    
    Warning #1:  The code does not check key lengths. (Caveat encryptor.) 
    Warning #2:  Beware that Blowfish keys repeat such that "ab" = "abab".
    Warning #3:  It is normally a good idea to zeroize the BLOWFISH_CTX before
      freeing it.
    Warning #4:  Endianness conversions are the responsibility of the caller.
      (To encrypt bytes on a little-endian platforms, you'll probably want
      to swap bytes around instead of just casting.)
    Warning #5:  Make sure to use a reasonable mode of operation for your
      application.  (If you don't know what CBC mode is, see Warning #7.)
    Warning #6:  This code is susceptible to timing attacks.
    Warning #7:  Security engineering is risky and non-intuitive.  Have someone 
      check your work.  If you don't know what you are doing, get help.
    
    
    This is code is fast enough for most applications, but is not optimized for
    speed.
    
    If you require this code under a license other than LGPL, please ask.  (I 
    can be located using your favorite search engine.)  Unfortunately, I do not 
    have time to provide unpaid support for everyone who uses this code.  
    
                                                 -- Paul Kocher
    */
    
    
    #include "blowfish.h"
    
    #define N               16
    
    static const unsigned long ORIG_P[16 + 2] = {
            0x243F6A88L, 0x85A308D3L, 0x13198A2EL, 0x03707344L,
            0xA4093822L, 0x299F31D0L, 0x082EFA98L, 0xEC4E6C89L,
            0x452821E6L, 0x38D01377L, 0xBE5466CFL, 0x34E90C6CL,
            0xC0AC29B7L, 0xC97C50DDL, 0x3F84D5B5L, 0xB5470917L,
            0x9216D5D9L, 0x8979FB1BL
    };
    more next
    The lines above are the best I have to offer.If anyone of you is of more advanced knowledge, I ask for your patience and understanding! - unknown arab poet
    http://www.tamoggemon.com - Symbian blog - Windows Phone blog
    My other blogs:
    webOS blog iPhone blog BlackBerry blog Samsung bada blog Android blog

  7. #7
    Super Contributor
    Join Date
    Jul 2008
    Posts
    2,020

    Re: Encryption

    continued:
    Code:
    
    static const unsigned long ORIG_S[4][256] = {
        {   0xD1310BA6L, 0x98DFB5ACL, 0x2FFD72DBL, 0xD01ADFB7L,
            0xB8E1AFEDL, 0x6A267E96L, 0xBA7C9045L, 0xF12C7F99L,
            0x24A19947L, 0xB3916CF7L, 0x0801F2E2L, 0x858EFC16L,
            0x636920D8L, 0x71574E69L, 0xA458FEA3L, 0xF4933D7EL,
            0x0D95748FL, 0x728EB658L, 0x718BCD58L, 0x82154AEEL,
            0x7B54A41DL, 0xC25A59B5L, 0x9C30D539L, 0x2AF26013L,
            0xC5D1B023L, 0x286085F0L, 0xCA417918L, 0xB8DB38EFL,
            0x8E79DCB0L, 0x603A180EL, 0x6C9E0E8BL, 0xB01E8A3EL,
            0xD71577C1L, 0xBD314B27L, 0x78AF2FDAL, 0x55605C60L,
            0xE65525F3L, 0xAA55AB94L, 0x57489862L, 0x63E81440L,
            0x55CA396AL, 0x2AAB10B6L, 0xB4CC5C34L, 0x1141E8CEL,
            0xA15486AFL, 0x7C72E993L, 0xB3EE1411L, 0x636FBC2AL,
            0x2BA9C55DL, 0x741831F6L, 0xCE5C3E16L, 0x9B87931EL,
            0xAFD6BA33L, 0x6C24CF5CL, 0x7A325381L, 0x28958677L,
            0x3B8F4898L, 0x6B4BB9AFL, 0xC4BFE81BL, 0x66282193L,
            0x61D809CCL, 0xFB21A991L, 0x487CAC60L, 0x5DEC8032L,
            0xEF845D5DL, 0xE98575B1L, 0xDC262302L, 0xEB651B88L,
            0x23893E81L, 0xD396ACC5L, 0x0F6D6FF3L, 0x83F44239L,
            0x2E0B4482L, 0xA4842004L, 0x69C8F04AL, 0x9E1F9B5EL,
            0x21C66842L, 0xF6E96C9AL, 0x670C9C61L, 0xABD388F0L,
            0x6A51A0D2L, 0xD8542F68L, 0x960FA728L, 0xAB5133A3L,
            0x6EEF0B6CL, 0x137A3BE4L, 0xBA3BF050L, 0x7EFB2A98L,
            0xA1F1651DL, 0x39AF0176L, 0x66CA593EL, 0x82430E88L,
            0x8CEE8619L, 0x456F9FB4L, 0x7D84A5C3L, 0x3B8B5EBEL,
            0xE06F75D8L, 0x85C12073L, 0x401A449FL, 0x56C16AA6L,
            0x4ED3AA62L, 0x363F7706L, 0x1BFEDF72L, 0x429B023DL,
            0x37D0D724L, 0xD00A1248L, 0xDB0FEAD3L, 0x49F1C09BL,
            0x075372C9L, 0x80991B7BL, 0x25D479D8L, 0xF6E8DEF7L,
            0xE3FE501AL, 0xB6794C3BL, 0x976CE0BDL, 0x04C006BAL,
            0xC1A94FB6L, 0x409F60C4L, 0x5E5C9EC2L, 0x196A2463L,
            0x68FB6FAFL, 0x3E6C53B5L, 0x1339B2EBL, 0x3B52EC6FL,
            0x6DFC511FL, 0x9B30952CL, 0xCC814544L, 0xAF5EBD09L,
            0xBEE3D004L, 0xDE334AFDL, 0x660F2807L, 0x192E4BB3L,
            0xC0CBA857L, 0x45C8740FL, 0xD20B5F39L, 0xB9D3FBDBL,
            0x5579C0BDL, 0x1A60320AL, 0xD6A100C6L, 0x402C7279L,
            0x679F25FEL, 0xFB1FA3CCL, 0x8EA5E9F8L, 0xDB3222F8L,
            0x3C7516DFL, 0xFD616B15L, 0x2F501EC8L, 0xAD0552ABL,
            0x323DB5FAL, 0xFD238760L, 0x53317B48L, 0x3E00DF82L,
            0x9E5C57BBL, 0xCA6F8CA0L, 0x1A87562EL, 0xDF1769DBL,
            0xD542A8F6L, 0x287EFFC3L, 0xAC6732C6L, 0x8C4F5573L,
            0x695B27B0L, 0xBBCA58C8L, 0xE1FFA35DL, 0xB8F011A0L,
            0x10FA3D98L, 0xFD2183B8L, 0x4AFCB56CL, 0x2DD1D35BL,
            0x9A53E479L, 0xB6F84565L, 0xD28E49BCL, 0x4BFB9790L,
            0xE1DDF2DAL, 0xA4CB7E33L, 0x62FB1341L, 0xCEE4C6E8L,
            0xEF20CADAL, 0x36774C01L, 0xD07E9EFEL, 0x2BF11FB4L,
            0x95DBDA4DL, 0xAE909198L, 0xEAAD8E71L, 0x6B93D5A0L,
            0xD08ED1D0L, 0xAFC725E0L, 0x8E3C5B2FL, 0x8E7594B7L,
            0x8FF6E2FBL, 0xF2122B64L, 0x8888B812L, 0x900DF01CL,
            0x4FAD5EA0L, 0x688FC31CL, 0xD1CFF191L, 0xB3A8C1ADL,
            0x2F2F2218L, 0xBE0E1777L, 0xEA752DFEL, 0x8B021FA1L,
            0xE5A0CC0FL, 0xB56F74E8L, 0x18ACF3D6L, 0xCE89E299L,
            0xB4A84FE0L, 0xFD13E0B7L, 0x7CC43B81L, 0xD2ADA8D9L,
            0x165FA266L, 0x80957705L, 0x93CC7314L, 0x211A1477L,
            0xE6AD2065L, 0x77B5FA86L, 0xC75442F5L, 0xFB9D35CFL,
            0xEBCDAF0CL, 0x7B3E89A0L, 0xD6411BD3L, 0xAE1E7E49L,
            0x00250E2DL, 0x2071B35EL, 0x226800BBL, 0x57B8E0AFL,
            0x2464369BL, 0xF009B91EL, 0x5563911DL, 0x59DFA6AAL,
            0x78C14389L, 0xD95A537FL, 0x207D5BA2L, 0x02E5B9C5L,
            0x83260376L, 0x6295CFA9L, 0x11C81968L, 0x4E734A41L,
            0xB3472DCAL, 0x7B14A94AL, 0x1B510052L, 0x9A532915L,
            0xD60F573FL, 0xBC9BC6E4L, 0x2B60A476L, 0x81E67400L,
            0x08BA6FB5L, 0x571BE91FL, 0xF296EC6BL, 0x2A0DD915L,
            0xB6636521L, 0xE7B9F9B6L, 0xFF34052EL, 0xC5855664L,
            0x53B02D5DL, 0xA99F8FA1L, 0x08BA4799L, 0x6E85076AL   },
        {   0x4B7A70E9L, 0xB5B32944L, 0xDB75092EL, 0xC4192623L,
            0xAD6EA6B0L, 0x49A7DF7DL, 0x9CEE60B8L, 0x8FEDB266L,
            0xECAA8C71L, 0x699A17FFL, 0x5664526CL, 0xC2B19EE1L,
            0x193602A5L, 0x75094C29L, 0xA0591340L, 0xE4183A3EL,
            0x3F54989AL, 0x5B429D65L, 0x6B8FE4D6L, 0x99F73FD6L,
            0xA1D29C07L, 0xEFE830F5L, 0x4D2D38E6L, 0xF0255DC1L,
            0x4CDD2086L, 0x8470EB26L, 0x6382E9C6L, 0x021ECC5EL,
            0x09686B3FL, 0x3EBAEFC9L, 0x3C971814L, 0x6B6A70A1L,
            0x687F3584L, 0x52A0E286L, 0xB79C5305L, 0xAA500737L,
            0x3E07841CL, 0x7FDEAE5CL, 0x8E7D44ECL, 0x5716F2B8L,
            0xB03ADA37L, 0xF0500C0DL, 0xF01C1F04L, 0x0200B3FFL,
            0xAE0CF51AL, 0x3CB574B2L, 0x25837A58L, 0xDC0921BDL,
            0xD19113F9L, 0x7CA92FF6L, 0x94324773L, 0x22F54701L,
            0x3AE5E581L, 0x37C2DADCL, 0xC8B57634L, 0x9AF3DDA7L,
            0xA9446146L, 0x0FD0030EL, 0xECC8C73EL, 0xA4751E41L,
            0xE238CD99L, 0x3BEA0E2FL, 0x3280BBA1L, 0x183EB331L,
            0x4E548B38L, 0x4F6DB908L, 0x6F420D03L, 0xF60A04BFL,
            0x2CB81290L, 0x24977C79L, 0x5679B072L, 0xBCAF89AFL,
            0xDE9A771FL, 0xD9930810L, 0xB38BAE12L, 0xDCCF3F2EL,
            0x5512721FL, 0x2E6B7124L, 0x501ADDE6L, 0x9F84CD87L,
            0x7A584718L, 0x7408DA17L, 0xBC9F9ABCL, 0xE94B7D8CL,
            0xEC7AEC3AL, 0xDB851DFAL, 0x63094366L, 0xC464C3D2L,
            0xEF1C1847L, 0x3215D908L, 0xDD433B37L, 0x24C2BA16L,
            0x12A14D43L, 0x2A65C451L, 0x50940002L, 0x133AE4DDL,
            0x71DFF89EL, 0x10314E55L, 0x81AC77D6L, 0x5F11199BL,
            0x043556F1L, 0xD7A3C76BL, 0x3C11183BL, 0x5924A509L,
            0xF28FE6EDL, 0x97F1FBFAL, 0x9EBABF2CL, 0x1E153C6EL,
            0x86E34570L, 0xEAE96FB1L, 0x860E5E0AL, 0x5A3E2AB3L,
            0x771FE71CL, 0x4E3D06FAL, 0x2965DCB9L, 0x99E71D0FL,
            0x803E89D6L, 0x5266C825L, 0x2E4CC978L, 0x9C10B36AL,
            0xC6150EBAL, 0x94E2EA78L, 0xA5FC3C53L, 0x1E0A2DF4L,
            0xF2F74EA7L, 0x361D2B3DL, 0x1939260FL, 0x19C27960L,
            0x5223A708L, 0xF71312B6L, 0xEBADFE6EL, 0xEAC31F66L,
            0xE3BC4595L, 0xA67BC883L, 0xB17F37D1L, 0x018CFF28L,
            0xC332DDEFL, 0xBE6C5AA5L, 0x65582185L, 0x68AB9802L,
            0xEECEA50FL, 0xDB2F953BL, 0x2AEF7DADL, 0x5B6E2F84L,
            0x1521B628L, 0x29076170L, 0xECDD4775L, 0x619F1510L,
            0x13CCA830L, 0xEB61BD96L, 0x0334FE1EL, 0xAA0363CFL,
            0xB5735C90L, 0x4C70A239L, 0xD59E9E0BL, 0xCBAADE14L,
            0xEECC86BCL, 0x60622CA7L, 0x9CAB5CABL, 0xB2F3846EL,
            0x648B1EAFL, 0x19BDF0CAL, 0xA02369B9L, 0x655ABB50L,
            0x40685A32L, 0x3C2AB4B3L, 0x319EE9D5L, 0xC021B8F7L,
            0x9B540B19L, 0x875FA099L, 0x95F7997EL, 0x623D7DA8L,
            0xF837889AL, 0x97E32D77L, 0x11ED935FL, 0x16681281L,
            0x0E358829L, 0xC7E61FD6L, 0x96DEDFA1L, 0x7858BA99L,
            0x57F584A5L, 0x1B227263L, 0x9B83C3FFL, 0x1AC24696L,
            0xCDB30AEBL, 0x532E3054L, 0x8FD948E4L, 0x6DBC3128L,
            0x58EBF2EFL, 0x34C6FFEAL, 0xFE28ED61L, 0xEE7C3C73L,
            0x5D4A14D9L, 0xE864B7E3L, 0x42105D14L, 0x203E13E0L,
            0x45EEE2B6L, 0xA3AAABEAL, 0xDB6C4F15L, 0xFACB4FD0L,
            0xC742F442L, 0xEF6ABBB5L, 0x654F3B1DL, 0x41CD2105L,
            0xD81E799EL, 0x86854DC7L, 0xE44B476AL, 0x3D816250L,
            0xCF62A1F2L, 0x5B8D2646L, 0xFC8883A0L, 0xC1C7B6A3L,
            0x7F1524C3L, 0x69CB7492L, 0x47848A0BL, 0x5692B285L,
            0x095BBF00L, 0xAD19489DL, 0x1462B174L, 0x23820E00L,
            0x58428D2AL, 0x0C55F5EAL, 0x1DADF43EL, 0x233F7061L,
            0x3372F092L, 0x8D937E41L, 0xD65FECF1L, 0x6C223BDBL,
            0x7CDE3759L, 0xCBEE7460L, 0x4085F2A7L, 0xCE77326EL,
            0xA6078084L, 0x19F8509EL, 0xE8EFD855L, 0x61D99735L,
            0xA969A7AAL, 0xC50C06C2L, 0x5A04ABFCL, 0x800BCADCL,
            0x9E447A2EL, 0xC3453484L, 0xFDD56705L, 0x0E1E9EC9L,
            0xDB73DBD3L, 0x105588CDL, 0x675FDA79L, 0xE3674340L,
            0xC5C43465L, 0x713E38D8L, 0x3D28F89EL, 0xF16DFF20L,
            0x153E21E7L, 0x8FB03D4AL, 0xE6E39F2BL, 0xDB83ADF7L   },
        {   0xE93D5A68L, 0x948140F7L, 0xF64C261CL, 0x94692934L,
            0x411520F7L, 0x7602D4F7L, 0xBCF46B2EL, 0xD4A20068L,
            0xD4082471L, 0x3320F46AL, 0x43B7D4B7L, 0x500061AFL,
            0x1E39F62EL, 0x97244546L, 0x14214F74L, 0xBF8B8840L,
            0x4D95FC1DL, 0x96B591AFL, 0x70F4DDD3L, 0x66A02F45L,
            0xBFBC09ECL, 0x03BD9785L, 0x7FAC6DD0L, 0x31CB8504L,
            0x96EB27B3L, 0x55FD3941L, 0xDA2547E6L, 0xABCA0A9AL,
            0x28507825L, 0x530429F4L, 0x0A2C86DAL, 0xE9B66DFBL,
            0x68DC1462L, 0xD7486900L, 0x680EC0A4L, 0x27A18DEEL,
            0x4F3FFEA2L, 0xE887AD8CL, 0xB58CE006L, 0x7AF4D6B6L,
            0xAACE1E7CL, 0xD3375FECL, 0xCE78A399L, 0x406B2A42L,
            0x20FE9E35L, 0xD9F385B9L, 0xEE39D7ABL, 0x3B124E8BL,
    The lines above are the best I have to offer.If anyone of you is of more advanced knowledge, I ask for your patience and understanding! - unknown arab poet
    http://www.tamoggemon.com - Symbian blog - Windows Phone blog
    My other blogs:
    webOS blog iPhone blog BlackBerry blog Samsung bada blog Android blog

  8. #8
    Super Contributor
    Join Date
    Jul 2008
    Posts
    2,020

    Re: Encryption

    And even more. Nokia, please repeal the 10k char limit:

    0x1DC9FAF7L, 0x4B6D1856L, 0x26A36631L, 0xEAE397B2L,
    0x3A6EFA74L, 0xDD5B4332L, 0x6841E7F7L, 0xCA7820FBL,
    0xFB0AF54EL, 0xD8FEB397L, 0x454056ACL, 0xBA489527L,
    0x55533A3AL, 0x20838D87L, 0xFE6BA9B7L, 0xD096954BL,
    0x55A867BCL, 0xA1159A58L, 0xCCA92963L, 0x99E1DB33L,
    0xA62A4A56L, 0x3F3125F9L, 0x5EF47E1CL, 0x9029317CL,
    0xFDF8E802L, 0x04272F70L, 0x80BB155CL, 0x05282CE3L,
    0x95C11548L, 0xE4C66D22L, 0x48C1133FL, 0xC70F86DCL,
    0x07F9C9EEL, 0x41041F0FL, 0x404779A4L, 0x5D886E17L,
    0x325F51EBL, 0xD59BC0D1L, 0xF2BCC18FL, 0x41113564L,
    0x257B7834L, 0x602A9C60L, 0xDFF8E8A3L, 0x1F636C1BL,
    0x0E12B4C2L, 0x02E1329EL, 0xAF664FD1L, 0xCAD18115L,
    0x6B2395E0L, 0x333E92E1L, 0x3B240B62L, 0xEEBEB922L,
    0x85B2A20EL, 0xE6BA0D99L, 0xDE720C8CL, 0x2DA2F728L,
    0xD0127845L, 0x95B794FDL, 0x647D0862L, 0xE7CCF5F0L,
    0x5449A36FL, 0x877D48FAL, 0xC39DFD27L, 0xF33E8D1EL,
    0x0A476341L, 0x992EFF74L, 0x3A6F6EABL, 0xF4F8FD37L,
    0xA812DC60L, 0xA1EBDDF8L, 0x991BE14CL, 0xDB6E6B0DL,
    0xC67B5510L, 0x6D672C37L, 0x2765D43BL, 0xDCD0E804L,
    0xF1290DC7L, 0xCC00FFA3L, 0xB5390F92L, 0x690FED0BL,
    0x667B9FFBL, 0xCEDB7D9CL, 0xA091CF0BL, 0xD9155EA3L,
    0xBB132F88L, 0x515BAD24L, 0x7B9479BFL, 0x763BD6EBL,
    0x37392EB3L, 0xCC115979L, 0x8026E297L, 0xF42E312DL,
    0x6842ADA7L, 0xC66A2B3BL, 0x12754CCCL, 0x782EF11CL,
    0x6A124237L, 0xB79251E7L, 0x06A1BBE6L, 0x4BFB6350L,
    0x1A6B1018L, 0x11CAEDFAL, 0x3D25BDD8L, 0xE2E1C3C9L,
    0x44421659L, 0x0A121386L, 0xD90CEC6EL, 0xD5ABEA2AL,
    0x64AF674EL, 0xDA86A85FL, 0xBEBFE988L, 0x64E4C3FEL,
    0x9DBC8057L, 0xF0F7C086L, 0x60787BF8L, 0x6003604DL,
    0xD1FD8346L, 0xF6381FB0L, 0x7745AE04L, 0xD736FCCCL,
    0x83426B33L, 0xF01EAB71L, 0xB0804187L, 0x3C005E5FL,
    0x77A057BEL, 0xBDE8AE24L, 0x55464299L, 0xBF582E61L,
    0x4E58F48FL, 0xF2DDFDA2L, 0xF474EF38L, 0x8789BDC2L,
    0x5366F9C3L, 0xC8B38E74L, 0xB475F255L, 0x46FCD9B9L,
    0x7AEB2661L, 0x8B1DDF84L, 0x846A0E79L, 0x915F95E2L,
    0x466E598EL, 0x20B45770L, 0x8CD55591L, 0xC902DE4CL,
    0xB90BACE1L, 0xBB8205D0L, 0x11A86248L, 0x7574A99EL,
    0xB77F19B6L, 0xE0A9DC09L, 0x662D09A1L, 0xC4324633L,
    0xE85A1F02L, 0x09F0BE8CL, 0x4A99A025L, 0x1D6EFE10L,
    0x1AB93D1DL, 0x0BA5A4DFL, 0xA186F20FL, 0x2868F169L,
    0xDCB7DA83L, 0x573906FEL, 0xA1E2CE9BL, 0x4FCD7F52L,
    0x50115E01L, 0xA70683FAL, 0xA002B5C4L, 0x0DE6D027L,
    0x9AF88C27L, 0x773F8641L, 0xC3604C06L, 0x61A806B5L,
    0xF0177A28L, 0xC0F586E0L, 0x006058AAL, 0x30DC7D62L,
    0x11E69ED7L, 0x2338EA63L, 0x53C2DD94L, 0xC2C21634L,
    0xBBCBEE56L, 0x90BCB6DEL, 0xEBFC7DA1L, 0xCE591D76L,
    0x6F05E409L, 0x4B7C0188L, 0x39720A3DL, 0x7C927C24L,
    0x86E3725FL, 0x724D9DB9L, 0x1AC15BB4L, 0xD39EB8FCL,
    0xED545578L, 0x08FCA5B5L, 0xD83D7CD3L, 0x4DAD0FC4L,
    0x1E50EF5EL, 0xB161E6F8L, 0xA28514D9L, 0x6C51133CL,
    0x6FD5C7E7L, 0x56E14EC4L, 0x362ABFCEL, 0xDDC6C837L,
    0xD79A3234L, 0x92638212L, 0x670EFA8EL, 0x406000E0L },

    { 0x3A39CE37L, 0xD3FAF5CFL, 0xABC27737L, 0x5AC52D1BL,
    0x5CB0679EL, 0x4FA33742L, 0xD3822740L, 0x99BC9BBEL,
    0xD5118E9DL, 0xBF0F7315L, 0xD62D1C7EL, 0xC700C47BL,
    0xB78C1B6BL, 0x21A19045L, 0xB26EB1BEL, 0x6A366EB4L,
    0x5748AB2FL, 0xBC946E79L, 0xC6A376D2L, 0x6549C2C8L,
    0x530FF8EEL, 0x468DDE7DL, 0xD5730A1DL, 0x4CD04DC6L,
    0x2939BBDBL, 0xA9BA4650L, 0xAC9526E8L, 0xBE5EE304L,
    0xA1FAD5F0L, 0x6A2D519AL, 0x63EF8CE2L, 0x9A86EE22L,
    0xC089C2B8L, 0x43242EF6L, 0xA51E03AAL, 0x9CF2D0A4L,
    0x83C061BAL, 0x9BE96A4DL, 0x8FE51550L, 0xBA645BD6L,
    0x2826A2F9L, 0xA73A3AE1L, 0x4BA99586L, 0xEF5562E9L,
    0xC72FEFD3L, 0xF752F7DAL, 0x3F046F69L, 0x77FA0A59L,
    0x80E4A915L, 0x87B08601L, 0x9B09E6ADL, 0x3B3EE593L,
    0xE990FD5AL, 0x9E34D797L, 0x2CF0B7D9L, 0x022B8B51L,
    0x96D5AC3AL, 0x017DA67DL, 0xD1CF3ED6L, 0x7C7D2D28L,
    0x1F9F25CFL, 0xADF2B89BL, 0x5AD6B472L, 0x5A88F54CL,
    0xE029AC71L, 0xE019A5E6L, 0x47B0ACFDL, 0xED93FA9BL,
    0xE8D3C48DL, 0x283B57CCL, 0xF8D56629L, 0x79132E28L,
    0x785F0191L, 0xED756055L, 0xF7960E44L, 0xE3D35E8CL,
    0x15056DD4L, 0x88F46DBAL, 0x03A16125L, 0x0564F0BDL,
    0xC3EB9E15L, 0x3C9057A2L, 0x97271AECL, 0xA93A072AL,
    0x1B3F6D9BL, 0x1E6321F5L, 0xF59C66FBL, 0x26DCF319L,
    0x7533D928L, 0xB155FDF5L, 0x03563482L, 0x8ABA3CBBL,
    0x28517711L, 0xC20AD9F8L, 0xABCC5167L, 0xCCAD925FL,
    0x4DE81751L, 0x3830DC8EL, 0x379D5862L, 0x9320F991L,
    0xEA7A90C2L, 0xFB3E7BCEL, 0x5121CE64L, 0x774FBE32L,
    0xA8B6E37EL, 0xC3293D46L, 0x48DE5369L, 0x6413E680L,
    0xA2AE0810L, 0xDD6DB224L, 0x69852DFDL, 0x09072166L,
    0xB39A460AL, 0x6445C0DDL, 0x586CDECFL, 0x1C20C8AEL,
    0x5BBEF7DDL, 0x1B588D40L, 0xCCD2017FL, 0x6BB4E3BBL,
    0xDDA26A7EL, 0x3A59FF45L, 0x3E350A44L, 0xBCB4CDD5L,
    0x72EACEA8L, 0xFA6484BBL, 0x8D6612AEL, 0xBF3C6F47L,
    0xD29BE463L, 0x542F5D9EL, 0xAEC2771BL, 0xF64E6370L,
    0x740E0D8DL, 0xE75B1357L, 0xF8721671L, 0xAF537D5DL,
    0x4040CB08L, 0x4EB4E2CCL, 0x34D2466AL, 0x0115AF84L,
    0xE1B00428L, 0x95983A1DL, 0x06B89FB4L, 0xCE6EA048L,
    0x6F3F3B82L, 0x3520AB82L, 0x011A1D4BL, 0x277227F8L,
    0x611560B1L, 0xE7933FDCL, 0xBB3A792BL, 0x344525BDL,
    0xA08839E1L, 0x51CE794BL, 0x2F32C9B7L, 0xA01FBAC9L,
    0xE01CC87EL, 0xBCC7D1F6L, 0xCF0111C3L, 0xA1E8AAC7L,
    0x1A908749L, 0xD44FBD9AL, 0xD0DADECBL, 0xD50ADA38L,
    0x0339C32AL, 0xC6913667L, 0x8DF9317CL, 0xE0B12B4FL,
    0xF79E59B7L, 0x43F5BB3AL, 0xF2D519FFL, 0x27D9459CL,
    0xBF97222CL, 0x15E6FC2AL, 0x0F91FC71L, 0x9B941525L,
    0xFAE59361L, 0xCEB69CEBL, 0xC2A86459L, 0x12BAA8D1L,
    0xB6C1075EL, 0xE3056A0CL, 0x10D25065L, 0xCB03A442L,
    0xE0EC6E0EL, 0x1698DB3BL, 0x4C98A0BEL, 0x3278E964L,
    0x9F1F9532L, 0xE0D392DFL, 0xD3A0342BL, 0x8971F21EL,
    0x1B0A7441L, 0x4BA3348CL, 0xC5BE7120L, 0xC37632D8L,
    0xDF359F8DL, 0x9B992F2EL, 0xE60B6F47L, 0x0FE3F11DL,
    0xE54CDA54L, 0x1EDAD891L, 0xCE6279CFL, 0xCD3E7E6FL,
    0x1618B166L, 0xFD2C1D05L, 0x848FD2C5L, 0xF6FB2299L,
    0xF523F357L, 0xA6327623L, 0x93A83531L, 0x56CCCD02L,
    0xACF08162L, 0x5A75EBB5L, 0x6E163697L, 0x88D273CCL,
    0xDE966292L, 0x81B949D0L, 0x4C50901BL, 0x71C65614L,
    0xE6C6C7BDL, 0x327A140AL, 0x45E1D006L, 0xC3F27B9AL,
    0xC9AA53FDL, 0x62A80F00L, 0xBB25BFE2L, 0x35BDD2F6L,
    0x71126905L, 0xB2040222L, 0xB6CBCF7CL, 0xCD769C2BL,
    0x53113EC0L, 0x1640E3D3L, 0x38ABBD60L, 0x2547ADF0L,
    0xBA38209CL, 0xF746CE76L, 0x77AFA1C5L, 0x20756060L,
    0x85CBFE4EL, 0x8AE88DD8L, 0x7AAAF9B0L, 0x4CF9AA7EL,
    0x1948C25CL, 0x02FB8A8CL, 0x01C36AE4L, 0xD6EBE1F9L,
    0x90D4F869L, 0xA65CDEA0L, 0x3F09252DL, 0xC208E69FL,
    0xB74E6132L, 0xCE77E25BL, 0x578FDFE3L, 0x3AC372E6L }
    };

    static unsigned long F(BLOWFISH_CTX *ctx, unsigned long x) {
    unsigned short a, b, c, d;
    unsigned long y;

    d = (unsigned short)(x & 0xFF);
    x >>= 8;
    c = (unsigned short)(x & 0xFF);
    x >>= 8;
    b = (unsigned short)(x & 0xFF);
    x >>= 8;
    a = (unsigned short)(x & 0xFF);
    y = ctx->S[0][a] + ctx->S[1][b];
    y = y ^ ctx->S[2][c];
    y = y + ctx->S[3][d];

    return y;
    }


    void Blowfish_Encrypt(BLOWFISH_CTX *ctx, unsigned long *xl, unsigned long *xr){
    unsigned long Xl;
    unsigned long Xr;
    unsigned long temp;
    short i;

    Xl = *xl;
    Xr = *xr;

    for (i = 0; i < N; ++i) {
    Xl = Xl ^ ctx->P[i];
    Xr = F(ctx, Xl) ^ Xr;

    temp = Xl;
    Xl = Xr;
    Xr = temp;
    }

    temp = Xl;
    Xl = Xr;
    Xr = temp;

    Xr = Xr ^ ctx->P[N];
    Xl = Xl ^ ctx->P[N + 1];

    *xl = Xl;
    *xr = Xr;
    }


    void Blowfish_Decrypt(BLOWFISH_CTX *ctx, unsigned long *xl, unsigned long *xr){
    unsigned long Xl;
    unsigned long Xr;
    unsigned long temp;
    short i;

    Xl = *xl;
    Xr = *xr;

    for (i = N + 1; i > 1; --i) {
    Xl = Xl ^ ctx->P[i];
    Xr = F(ctx, Xl) ^ Xr;

    /* Exchange Xl and Xr */
    temp = Xl;
    Xl = Xr;
    Xr = temp;
    }

    /* Exchange Xl and Xr */
    temp = Xl;
    Xl = Xr;
    Xr = temp;

    Xr = Xr ^ ctx->P[1];
    Xl = Xl ^ ctx->P[0];

    *xl = Xl;
    *xr = Xr;
    }


    void Blowfish_Init(BLOWFISH_CTX *ctx, unsigned char *key, int keyLen) {
    int i, j, k;
    unsigned long data, datal, datar;

    for (i = 0; i < 4; i++) {
    for (j = 0; j < 256; j++)
    ctx->S[i][j] = ORIG_S[i][j];
    }

    j = 0;
    for (i = 0; i < N + 2; ++i) {
    data = 0x00000000;
    for (k = 0; k < 4; ++k) {
    data = (data << 8) | key[j];
    j = j + 1;
    if (j >= keyLen)
    j = 0;
    }
    ctx->P[i] = ORIG_P[i] ^ data;
    }

    datal = 0x00000000;
    datar = 0x00000000;

    for (i = 0; i < N + 2; i += 2) {
    Blowfish_Encrypt(ctx, &datal, &datar);
    ctx->P[i] = datal;
    ctx->P[i + 1] = datar;
    }

    for (i = 0; i < 4; ++i) {
    for (j = 0; j < 256; j += 2) {
    Blowfish_Encrypt(ctx, &datal, &datar);
    ctx->S[i][j] = datal;
    ctx->S[i][j + 1] = datar;
    }
    }
    }


    [/CODE]
    The lines above are the best I have to offer.If anyone of you is of more advanced knowledge, I ask for your patience and understanding! - unknown arab poet
    http://www.tamoggemon.com - Symbian blog - Windows Phone blog
    My other blogs:
    webOS blog iPhone blog BlackBerry blog Samsung bada blog Android blog

  9. #9
    Super Contributor
    Join Date
    Jul 2008
    Posts
    2,020

    Re: Encryption

    HEADER:
    Code:
    /*
    blowfish.h:  Header file for blowfish.c
    
    Copyright (C) 1997 by Paul Kocher
    
    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.
    This library 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
    Lesser General Public License for more details.
    You should have received a copy of the GNU Lesser General Public
    License along with this library; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    
    
    See blowfish.c for more information about this file.
    */
    
      
    typedef struct {
      unsigned long P[16 + 2];
      unsigned long S[4][256];
    } BLOWFISH_CTX;
    
    void Blowfish_Init(BLOWFISH_CTX *ctx, unsigned char *key, int keyLen);
    void Blowfish_Encrypt(BLOWFISH_CTX *ctx, unsigned long *xl, unsigned long *xr);
    void Blowfish_Decrypt(BLOWFISH_CTX *ctx, unsigned long *xl, unsigned long *xr);
    The lines above are the best I have to offer.If anyone of you is of more advanced knowledge, I ask for your patience and understanding! - unknown arab poet
    http://www.tamoggemon.com - Symbian blog - Windows Phone blog
    My other blogs:
    webOS blog iPhone blog BlackBerry blog Samsung bada blog Android blog

  10. #10
    Super Contributor
    Join Date
    Nov 2009
    Location
    Minnesota, USA
    Posts
    3,209

    Re: Encryption

    It would have been much simpler to just link to the source: http://www.schneier.com/blowfish-download.html

  11. #11
    Super Contributor
    Join Date
    Oct 2009
    Posts
    4,326

    Re: Encryption

    Quote Originally Posted by danhicksbyron View Post
    It would have been much simpler to just link to the source: http://www.schneier.com/blowfish-download.html
    Linking the source doesn't give you 4 posts

  12. #12
    Super Contributor
    Join Date
    Jul 2008
    Posts
    2,020

    Re: Encryption

    Hi divanov,
    thank you so much for talking back. However, I am not happy by you accusing me of just posting here to gain posts.

    I just wanted to post all here, and initially wanted to make one post and even wrote it in the editor. I then split it up and was angry about it as I lost a lot of time!
    The lines above are the best I have to offer.If anyone of you is of more advanced knowledge, I ask for your patience and understanding! - unknown arab poet
    http://www.tamoggemon.com - Symbian blog - Windows Phone blog
    My other blogs:
    webOS blog iPhone blog BlackBerry blog Samsung bada blog Android blog

  13. #13
    Super Contributor
    Join Date
    Nov 2009
    Location
    Minnesota, USA
    Posts
    3,209

    Re: Encryption

    You could have Attached the source.

  14. #14
    Super Contributor
    Join Date
    Jul 2008
    Posts
    2,020

    Re: Encryption

    Hi Dan,
    sorry - how do I accomplish this?

    I would have to host it on my own server, and ...
    The lines above are the best I have to offer.If anyone of you is of more advanced knowledge, I ask for your patience and understanding! - unknown arab poet
    http://www.tamoggemon.com - Symbian blog - Windows Phone blog
    My other blogs:
    webOS blog iPhone blog BlackBerry blog Samsung bada blog Android blog

  15. #15
    Super Contributor
    Join Date
    Oct 2009
    Posts
    4,326

    Re: Encryption

    Quote Originally Posted by tamhanna View Post
    Hi Dan,
    sorry - how do I accomplish this?

    I would have to host it on my own server, and ...
    If you press Go Advanced button, while replying you will see there Attachments in Additional Options.

Similar Threads

  1. Encryption by
    By dr_rost in forum Symbian
    Replies: 2
    Last Post: 2010-02-12, 08:45
  2. Encryption
    By jayakrishnan.salim in forum Mobile Java General
    Replies: 3
    Last Post: 2009-07-31, 20:27
  3. Encryption
    By namak in forum Symbian
    Replies: 1
    Last Post: 2007-11-23, 11:06
  4. encryption
    By glamalil in forum Mobile Java General
    Replies: 2
    Last Post: 2007-10-20, 05:35
  5. Encryption
    By kolkattakid in forum Symbian
    Replies: 0
    Last Post: 2004-05-31, 18:32

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
×