hcrypto.analyzer
Class CaesarAnalyzer

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Window
                    |
                    +--java.awt.Frame
                          |
                          +--hcrypto.analyzer.AnalyzerFrame
                                |
                                +--hcrypto.analyzer.CaesarAnalyzer
All Implemented Interfaces:
javax.accessibility.Accessible, Analyzer, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class CaesarAnalyzer
extends AnalyzerFrame
implements Analyzer

See Also:
Serialized Form

Inner classes inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Inner classes inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Inner classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent
 
Fields inherited from class hcrypto.analyzer.AnalyzerFrame
display, HEIGHT, WIDTH
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface hcrypto.analyzer.Analyzer
DECIPHER_LIMIT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, PROPERTIES, SOMEBITS
 
Constructor Summary
CaesarAnalyzer()
           
CaesarAnalyzer(TextStatistics ts)
           
 
Method Summary
 void doAnalysis()
          This method performs an analysis of the text assuming a Caesar (shift) cipher was used.
 int getOptimalShift()
          This method performs a Chi-Square test to find the optimal shift.
 int getOptimalShift(int firstChar, int displ)
          This method performs a Chi-Square test to find the optimal Caesar shift on a polyalphabetic text.
 java.lang.String getReport()
           
 void run()
           
 void setup(java.lang.String text)
           
 java.lang.String toString()
           
 
Methods inherited from class hcrypto.analyzer.AnalyzerFrame
buildGUI, centerWindow
 
Methods inherited from class java.awt.Frame
addNotify, finalize, getAccessibleContext, getCursorType, getFrames, getIconImage, getMenuBar, getState, getTitle, isResizable, paramString, remove, removeNotify, setCursor, setIconImage, setMenuBar, setResizable, setState, setTitle
 
Methods inherited from class java.awt.Window
addWindowListener, applyResourceBundle, applyResourceBundle, dispose, getFocusOwner, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getOwnedWindows, getOwner, getToolkit, getWarningString, hide, isShowing, pack, postEvent, processEvent, processWindowEvent, removeWindowListener, setCursor, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, remove, removeAll, removeContainerListener, setFont, setLayout, update, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, addPropertyChangeListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getInputMethodRequests, getLocation, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isDisplayable, isDoubleBuffered, isEnabled, isFocusTraversable, isLightweight, isOpaque, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setForeground, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Constructor Detail

CaesarAnalyzer

public CaesarAnalyzer()

CaesarAnalyzer

public CaesarAnalyzer(TextStatistics ts)
               throws java.lang.NullPointerException
Method Detail

setup

public void setup(java.lang.String text)
Specified by:
setup in interface Analyzer

run

public void run()
Specified by:
run in interface Analyzer

getReport

public java.lang.String getReport()
Specified by:
getReport in interface Analyzer

toString

public java.lang.String toString()
Overrides:
toString in class java.awt.Component

doAnalysis

public void doAnalysis()
This method performs an analysis of the text assuming a Caesar (shift) cipher was used. The goal is to find the shift (the Caesar key). It performs a Chi-square analysis on every possible shift to find the most likely shift.

getOptimalShift

public int getOptimalShift()
This method performs a Chi-Square test to find the optimal shift. This monoalphabetic version calls the more general polyalphabetic version, which computes a chi-square test on a text beginning with the first (0th) character and proceeding through each adjacent character.

getOptimalShift

public int getOptimalShift(int firstChar,
                           int displ)
This method performs a Chi-Square test to find the optimal Caesar shift on a polyalphabetic text. It assumes that every _displ_ character starting at _firstChar_ belongs to the same alphabet. It is used primarily for analyzing Vigenere-like and Caesar-shift cryptograms.
Parameters:
firstChar - - the location of the first character in the cryptotext
displ - - the displacement (keyword length) or cycle length