Wrox Programmer Forums

Need to download code?

View our list of code downloads.

Go Back   Wrox Programmer Forums > Java > Java and JDK > Java Basics
Password Reminder
Register
Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read
Java Basics General beginning Java language questions that don't fit in one of the more specific forums. Please specify what version.
Welcome to the p2p.wrox.com Forums.

You are currently viewing the Java Basics section of the Wrox Programmer to Programmer discussions. This is a community of tens of thousands of software programmers and website developers including Wrox book authors and readers. As a guest, you can read any forum posting. By joining today you can post your own programming questions, respond to other developersí questions, and eliminate the ads that are displayed to guests. Registration is fast, simple and absolutely free .
DRM-free e-books 300x50
Reply
 
Thread Tools Display Modes
  #1 (permalink)  
Old March 21st, 2008, 07:24 PM
Registered User
 
Join Date: Mar 2008
Location: Belfast, Northern Ireland, United Kingdom.
Posts: 8
Thanks: 0
Thanked 0 Times in 0 Posts
Send a message via MSN to Floetic
Default Using Java To Implement RSA Algorithm

Hi I'm looking for SOME advice on how to simulate the following:

http://i71.photobucket.com/albums/i1...pinate/RSA.jpg

http://i71.photobucket.com/albums/i1...inate/RSA2.jpg


Ive done this so far:


Code:
package RSAalgorithm;

public class SecurityAlgorithm {

     public static char[] StartSymbolic = {'A','B','C','D','E','F','G','H','I','J',
                                    'K','L','M','N','O','P','Q','R','S','T',
                                    'U','V','W','X','Y','Z'}; 

     public static int[] numeric = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
                          16,17,18,19,20,21,22,23,24,25,26};


 

     public static void main(String[] args) {


          long P3 = 0;
          long P3mod33=0;
          long C7=0;
           long C7mod33=0;



       for(int counter = 0; counter < numeric.length; counter++){

            for(int i = 0; i < StartSymbolic.length; i++)  {

              int temp = numeric[counter];
              P3 = (long) (temp*temp*temp);
         P3mod33 = P3%33;
         C7 = (long) (P3mod33*P3mod33*P3mod33*P3mod33*P3mod33*P3mod33*P3mod33);
        int tp = numeric[counter];
                 C7mod33 = C7%33;
       }

                    System.out.println("*******************************************");
                     //System.out.println(StartSymbolic[i]);
                    System.out.println("Numeric: " + numeric[counter]); 
                         System.out.println("P3: " +P3); 
                     System.out.println("P3mod33: " + P3mod33); 
                      System.out.println("C7: " +C7);
                      System.out.println("C7mod33:" + C7mod33);
                    //  System.out.println(StartSymbolic[i]);
                     System.out.println("*******************************************");

          }

     }
 }

Code:
Output:
*******************************************
Numeric: 1
P3: 1
P3mod33: 1
C7: 1
C7mod33:1
*******************************************
*******************************************
Numeric: 2
P3: 8
P3mod33: 8
C7: 2097152
C7mod33:2
*******************************************
*******************************************
Numeric: 3
P3: 27
P3mod33: 27
C7: 10460353203
C7mod33:3
*******************************************
*******************************************
Numeric: 4
P3: 64
P3mod33: 31
C7: 27512614111
C7mod33:4
*******************************************
*******************************************
Numeric: 5
P3: 125
P3mod33: 26
C7: 8031810176
C7mod33:5
*******************************************
*******************************************
Numeric: 6
P3: 216
P3mod33: 18
C7: 612220032
C7mod33:6
*******************************************
*******************************************
Numeric: 7
P3: 343
P3mod33: 13
C7: 62748517
C7mod33:7
*******************************************
*******************************************
Numeric: 8
P3: 512
P3mod33: 17
C7: 410338673
C7mod33:8
*******************************************
*******************************************
Numeric: 9
P3: 729
P3mod33: 3
C7: 2187
C7mod33:9
*******************************************
*******************************************
Numeric: 10
P3: 1000
P3mod33: 10
C7: 10000000
C7mod33:10
*******************************************
*******************************************
Numeric: 11
P3: 1331
P3mod33: 11
C7: 19487171
C7mod33:11
*******************************************
*******************************************
Numeric: 12
P3: 1728
P3mod33: 12
C7: 35831808
C7mod33:12
*******************************************
*******************************************
Numeric: 13
P3: 2197
P3mod33: 19
C7: 893871739
C7mod33:13
*******************************************
*******************************************
Numeric: 14
P3: 2744
P3mod33: 5
C7: 78125
C7mod33:14
*******************************************
*******************************************
Numeric: 15
P3: 3375
P3mod33: 9
C7: 4782969
C7mod33:15
*******************************************
*******************************************
Numeric: 16
P3: 4096
P3mod33: 4
C7: 16384
C7mod33:16
*******************************************
*******************************************
Numeric: 17
P3: 4913
P3mod33: 29
C7: 17249876309
C7mod33:17
*******************************************
*******************************************
Numeric: 18
P3: 5832
P3mod33: 24
C7: 4586471424
C7mod33:18
*******************************************
*******************************************
Numeric: 19
P3: 6859
P3mod33: 28
C7: 13492928512
C7mod33:19
*******************************************
*******************************************
Numeric: 20
P3: 8000
P3mod33: 14
C7: 105413504
C7mod33:20
*******************************************
*******************************************
Numeric: 21
P3: 9261
P3mod33: 21
C7: 1801088541
C7mod33:21
*******************************************
*******************************************
Numeric: 22
P3: 10648
P3mod33: 22
C7: 2494357888
C7mod33:22
*******************************************
*******************************************
Numeric: 23
P3: 12167
P3mod33: 23
C7: 3404825447
C7mod33:23
*******************************************
*******************************************
Numeric: 24
P3: 13824
P3mod33: 30
C7: 21870000000
C7mod33:24
*******************************************
*******************************************
Numeric: 25
P3: 15625
P3mod33: 16
C7: 268435456
C7mod33:25
*******************************************
*******************************************
Numeric: 26
P3: 17576
P3mod33: 20
C7: 1280000000
C7mod33:26
*******************************************

I was looking to achieve what is shown in the 1st image.

I can get the numeric, P3, P3mod33, C7, C7mod33 to print out but not the symbolic information for some reason?

I want to be able to allow the user to enter in a string then the plaintext and ciphertext can be displayed.

Like this:

String input: SUZANNE

Output:

Plaintext: S U Z A N N E
Ciphertext: 28 21 20 1 5 5 26


Thanks.

Reply With Quote
  #2 (permalink)  
Old March 24th, 2008, 07:26 AM
Friend of Wrox
 
Join Date: Mar 2007
Location: Hyderabad, A.P., India.
Posts: 373
Thanks: 0
Thanked 1 Time in 1 Post
Default

If i understood your problem clearly then the following code will give the output you wanted
Code:
import java.io.*;

public class SecurityAlgorithm {

    public static DataInputStream in = new DataInputStream(System.in);

     public static void main(String[] args) {
         char[] plainText;
         try {
             System.out.print("Enter a string: ");
             plainText = in.readLine().toUpperCase().toCharArray();
         } catch (IOException e) {
             e.printStackTrace();
             return;
         }

         int[] encText = new int[plainText.length];

         System.out.print("\nPlain Text:\t ");
         for(int i=0;i<plainText.length; i++) {
             int tmp =(int)plainText[i]-64;
             encText[i] = (tmp*tmp*tmp)%33;
             System.out.print("\t"+plainText[i]);
         }

         System.out.print("\nEncripted Text:\t");
         for(int i=0;i<encText.length; i++) {
             System.out.print("\t"+encText[i]);
         }
     }
 }

- Rakesh
Reply With Quote
  #3 (permalink)  
Old March 24th, 2008, 12:07 PM
Registered User
 
Join Date: Mar 2008
Location: Belfast, Northern Ireland, United Kingdom.
Posts: 8
Thanks: 0
Thanked 0 Times in 0 Posts
Send a message via MSN to Floetic
Default

Thank you so so very much rakesh that is exactly what I was looking to achieve :)

Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
Wrapping RSA Keys rayback_2 BOOK: Beginning Cryptography with Java 3 April 28th, 2008 04:29 PM
Problem With RSA Interface Floetic Java GUI 1 March 25th, 2008 06:14 AM
RSA Decryption - Chapter 4 amalvido BOOK: Beginning Cryptography with Java 2 January 22nd, 2007 07:59 PM
Bad data when decrypting using RSA scotthcw ASP.NET 2.0 Basics 0 December 8th, 2006 10:10 PM
RSA ajm235 C++ Programming 1 August 19th, 2004 01:41 PM



All times are GMT -4. The time now is 03:48 AM.


Powered by vBulletin® Version 3.7.0
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
© 2013 John Wiley & Sons, Inc.