aid
Aida
aide
Aides
Aiken
ail
ailanthus
aile
Aileen
aileron
aim
ain't
Ainu
air
airborne
aircraft
airdrop
airedale
Aires
airfare
airfield
airflow
airfoil
airframe
airlift
airline
airlock
airmail
airman
airmass
airmen
airpark
airplane
airport
airspace
airspeed
airstrip
airtight
airway
airy
aisle
Aitken
ajar
Ajax
AK
Akers
akin
Akron
AL
ala
Alabama
Alabamian
alabaster
alacrity
alai
Alameda
Alamo
Alan
alan
alarm
Alaska
alb
alba
albacore
Albania
Albanian
Albany
albatross
albeit
Alberich
Albert
Alberta
Alberto
Albrecht
Albright
album
albumin
Albuquerque
Alcestis
alchemy
Alcmena
Alcoa
alcohol
alcoholic
alcoholism
Alcott
alcove
Aldebaran
aldehyde
Alden
alder
alderman
aldermen
Aldrich
aldrin
ale
Alec
Aleck
aleph
alert
alewife
Alex
Alexander
Alexandra
Alexandre
Alexandria
Alexei
Alexis
alfalfa
Alfonso
alfonso
Alfred
Alfredo
alfresco
alga
algae
algaecide
algal
algebra
algebraic
Algenib
Alger
Algeria
Algerian
Algiers
alginate
Algol
Algonquin
algorithm
algorithmic
Alhambra
Ali
alia
alias
alibi
Alice
Alicia
alien
alienate
alight
align
alike
alimony
aliphatic
aliquot
Alison
Alistair
alive
alizarin
alkali
alkaline
alkaloid
alkane
alkene
all
Allah
Allan
allay
allegate
allegation
allege
Allegheny
allegiant
allegoric
allegory
Allegra
allegro
allele
allemand
Allen
Allentown
allergic
allergy
alleviate
alley
alleyway
alliance
allied
alligator
Allis
dampen
damsel
Dan
Dana
Danbury
dance
dandelion
dandy
Dane
dang
danger
dangerous
dangle
Daniel
Danielson
Danish
dank
Danny
Dante
Danube
Danubian
Danzig
Daphne
dapper
dapple
Dar
dare
daredevil
Darius
dark
darken
darkle
Darlene
darling
darn
DARPA
Darrell
Darry
d'art
dart
Dartmouth
Darwin
Darwinian
dash
dashboard
dastard
data
database
date
dateline
dater
Datsun
datum
daub
Daugherty
daughter
daunt
dauphin
dauphine
Dave
davenport
David
Davidson
Davies
Davis
Davison
davit
Davy
dawn
Dawson
day
daybed
daybreak
daydream
daylight
daytime
Dayton
Daytona
daze
dazzle
DC
De
deacon
deaconess
deactivate
dead
deaden
deadhead
deadline
deadlock
deadwood
deaf
deafen
deal
deallocate
dealt
dean
Deane
Deanna
dear
Dearborn
dearie
dearth
death
deathbed
deathward
debacle
debar
formic
Formica
formidable
Formosa
formula
formulae
formulaic
formulate
Forrest
forsake
forsaken
forsook
forswear
Forsythe
fort
forte
Fortescue
forth
forthcome
forthright
forthwith
fortieth
fortify
fortin
fortiori
fortitude
fortnight
Fortran
fortran
fortress
fortuitous
fortunate
fortune
forty
forum
forward
forwent
Foss
fossil
fossiliferous
foster
fosterite
fought
foul
foulmouth
found
foundation
foundling
foundry
fount
fountain
fountainhead
four
fourfold
Fourier
foursome
foursquare
fourteen
fourteenth
fourth
fovea
fowl
fox
foxglove
Foxhall
foxhole
foxhound
foxtail
foxy
foyer
FPC
fraction
fractionate
fractious
fracture
fragile
fragment
fragmentary
fragmentation
fragrant
frail
frailty
frambesia
frame
framework
Fran
franc
franca
France
Frances
franchise
Francine
Francis
Franciscan
Francisco
francium
Franco
franco
Francoise
frangipani
frank
Frankel
Frankfort
Frankfurt
frankfurter
franklin
frantic
Franz
highroad
hightail
highway
highwayman
highwaymen
hijack
hijinks
hike
hilarious
hilarity
Hilbert
Hildebrand
hill
hillbilly
Hillcrest
Hillel
hillman
hillmen
hillock
hillside
hilltop
hilly
hilt
Hilton
hilum
him
Himalaya
himself
hind
hindmost
hindrance
hindsight
Hindu
Hinduism
Hines
hinge
Hinman
hint
hinterland
hip
hippo
Hippocrates
Hippocratic
hippodrome
hippopotamus
hippy
hipster
Hiram
hire
hireling
Hiroshi
Hiroshima
Hirsch
hirsute
his
Hispanic
hiss
histamine
histidine
histochemic
histochemistry
histogram
histology
historian
historic
historiography
history
histrionic
hit
Hitachi
hitch
Hitchcock
hither
hitherto
Hitler
hive
ho
hoagie
Hoagland
hoagy
hoar
hoard
hoarfrost
hoarse
hob
Hobart
Hobbes
hobble
Hobbs
hobby
hobbyhorse
hobgoblin
hobo
Hoboken
hoc
hock
hockey
hocus
hodge
hodgepodge
Hodges
Hodgkin
hoe
Hoff
Hoffman
hog
hogan
hogging
irritable
irritant
irritate
irruption
IRS
Irvin
Irvine
Irving
Irwin
i's
is
Isaac
Isaacson
Isabel
Isabella
Isadore
Isaiah
isentropic
Isfahan
Ising
isinglass
Isis
Islam
Islamabad
Islamic
island
isle
isn't
isochronal
isochronous
isocline
isolate
Isolde
isomer
isomorph
isomorphic
isopleth
isotherm
isothermal
isotope
isotopic
isotropic
isotropy
Israel
Israeli
Israelite
issuance
issuant
issue
Istanbul
Istvan
it
Italian
italic
Italy
itch
it'd
item
iterate
Ithaca
itinerant
itinerary
it'll
Ito
itself
IT&T
ITT
iv
Ivan
Ivanhoe
I've
Iverson
ivory
ivy
ix
Izvestia
j
jab
Jablonsky
jack
jackanapes
jackass
jackboot
jackdaw
jacket
Jackie
jackknife
Jackman
jackpot
Jackson
Jacksonian
Jacksonville
Jacky
JACM
Jacob
Jacobean
Jacobi
Jacobian
Jacobite
Jacobs
Jacobsen
Jacobson
Jacobus
Jacqueline
Jacques
jade
Jaeger
jag
jagging
jaguar
jail
Jaime
Jakarta
Jake
jake
jalopy
jam
Jamaica
jamboree
James
Jamestown
Jan
Jane
Janeiro
Janet
jangle
Janice
janissary
janitor
janitorial
Janos
Jansenist
January
Janus
Japan
Japanese
jar
jargon
Jarvin
Jason
jasper
jaundice
jaunty
Java
javelin
jaw
jawbone
jawbreak
jay
jazz
jazzy
jealous
jealousy
jean
Jeannie
Jed
jeep
Jeff
Jefferson
Jeffersonian
Jeffrey
Jehovah
jejune
jejunum
jelly
jellyfish
Jenkins
Jennie
Jennifer
Jennings
jenny
Jensen
jeopard
jeopardy
Jeremiah
Jeremy
Jeres
Jericho
jerk
jerky
Jeroboam
Jerome
jerry
jersey
Jerusalem
jess
Jesse
Jessica
Jessie
jest
Jesuit
Jesus
jet
jetliner
jettison
Jew
jewel
Jewell
jewelry
Jewett
Jewish
jibe
jiffy
jig
jigging
jiggle
jigsaw
Jill
jilt
Jim
Jimenez
Jimmie
jimmy
jingle
jinx
jitter
jitterbug
jitterbugger
jitterbugging
jittery
jive
Jo
Joan
Joanna
Joanne
Joaquin
job
jobholder
jock
jockey
jockstrap
jocose
jocular
jocund
Joe
Joel
joey
jog
jogging
joggle
Johann
Johannes
Johannesburg
Johansen
Johanson
John
Johnny
Johns
Johnsen
Johnson
Johnston
Johnstown
join
joint
joke
Joliet
Jolla
jolly
jolt
Jon
Jonas
Jonathan
Jones
jonquil
Jordan
Jorge
Jorgensen
Jorgenson
Jose
Josef
Joseph
Josephine
Josephson
Josephus
Joshua
Josiah
joss
jostle
jot
joule
jounce
journal
journalese
journey
journeyman
journeymen
joust
Jovanovich
Jove
jovial
Jovian
jowl
jowly
joy
Joyce
joyful
joyous
joyride
joystick
Jr
j's
Juan
Juanita
jubilant
jubilate
jubilee
Judaism
Judas
Judd
Jude
judge
judicable
judicatory
judicature
judicial
judiciary
judicious
Judith
judo
Judson
Judy
jug
jugate
jugging
juggle
Jugoslavia
juice
juicy
juju
jujube
juke
Jukes
julep
Jules
Julia
Julie
Juliet
Julio
Julius
July
jumble
jumbo
jump
jumpy
junco
junction
junctor
juncture
June
Juneau
jungle
junior
juniper
junk
junkerdom
junketeer
junky
Juno
junta
Jupiter
Jura
Jurassic
jure
juridic
jurisdiction
jurisprudent
jurisprudential
juror
jury
just
justice
justiciable
justify
Justine
Justinian
jut
jute
Jutish
juvenile
juxtapose
juxtaposition
k
Kabuki
Kabul
Kaddish
Kafka
Kafkaesque
Kahn
kaiser
Kajar
Kalamazoo
kale
kaleidescope
kaleidoscope
kalmia
Kalmuk
Kamchatka
kamikaze
Kampala
Kane
kangaroo
Kankakee
Kansas
Kant
kaolin
kaolinite
Kaplan
kapok
kappa
Karachi
Karamazov
karate
Karen
Karl
karma
Karol
Karp
karyatid
Kaskaskia
Kate
Katharine
Katherine
Kathleen
Kathy
Katie
Katmandu
Katowice
Katz
Kauffman
Kaufman
kava
Kay
kayo
kazoo
Keaton
Keats
keddah
keel
keelson
keen
Keenan
keep
keeshond
keg
Keith
Keller
Kelley
Kellogg
Kelly
kelly
kelp
Kelsey
Kelvin
Kemp
ken
Kendall
Kennan
Kennecott
Kennedy
kennel
Kenneth
Kenney
keno
Kensington
Kent
Kenton
Kentucky
Kenya
lemming
lemon
lemonade
Lemuel
Len
Lena
lend
length
lengthen
lengthwise
lengthy
lenient
Lenin
Leningrad
Leninism
Leninist
Lennox
Lenny
Lenore
lens
lent
Lenten
lenticular
lentil
Leo
Leon
Leona
Leonard
Leonardo
Leone
Leonid
leonine
leopard
Leopold
leper
lepidolite
leprosy
Leroy
Lesbian
lesbian
lesion
Leslie
Lesotho
less
lessee
lessen
lesson
lessor
lest
Lester
let
lethal
lethargic
lethargy
Lethe
Letitia
letterhead
letterman
lettermen
lettuce
leucine
leukemia
Lev
levee
level
lever
leverage
Levi
Levin
Levine
Levis
levitate
Leviticus
Levitt
levity
levulose
levy
Lew
lew
lewd
lewis
lexical
lexicography
lexicon
Lexington
Leyden
liable
liaison
liar
libation
libel
libelous
liberal
liberate
Liberia
libertarian
libertine
liberty
libidinous
libido
librarian
library
librate
librettist
libretto
Libreville
Libya
lice
Malton
maltose
maltreat
mambo
mamma
mammal
mammalian
mammoth
man
mana
manage
manageable
managerial
Managua
Manama
manatee
Manchester
mandamus
mandarin
mandate
mandatory
mandrake
mandrel
mandrill
mane
maneuver
Manfred
manganese
mange
mangel
mangle
Manhattan
manhole
manhood
mania
maniac
maniacal
manic
manifest
manifestation
manifold
manikin
Manila
manipulable
manipulate
Manitoba
mankind
Manley
Mann
manna
mannequin
mannerism
manometer
manor
manpower
Mans
manse
manservant
Mansfield
mansion
manslaughter
mantel
mantic
mantis
mantissa
mantle
mantlepiece
mantrap
manual
Manuel
manufacture
manumission
manumit
manumitted
manure
manuscript
Manville
many
manzanita
Mao
Maori
map
maple
mar
marathon
maraud
marble
Marc
Marceau
Marcel
Marcello
march
Marcia
Marco
Marcus
Marcy
Mardi
mare
Margaret
margarine
Margery
margin
marginal
marginalia
Margo
Marguerite
maria
Marianne
Marie
Marietta
marigold
marijuana
Marilyn
marimba
Marin
marina
marinade
marinate
marine
Marino
Mario
Marion
marionette
marital
maritime
marjoram
Marjorie
Marjory
mark
market
marketeer
marketplace
marketwise
Markham
Markov
Markovian
Marks
marksman
marksmen
Marlboro
Marlborough
Marlene
marlin
Marlowe
marmalade
marmot
maroon
marque
marquee
marquess
Marquette
marquis
marriage
marriageable
married
Marrietta
Marriott
marrow
marrowbone
marry
Mars
Marseilles
marsh
Marsha
marshal
Marshall
marshland
marshmallow
marsupial
mart
marten
martensite
Martha
martial
Martian
martin
Martinez
martingale
martini
Martinique
mastery
mastic
mastiff
mastodon
masturbate
mat
match
matchbook
matchmake
mate
Mateo
mater
material
materiel
maternal
maternity
math
mathematic
mathematician
Mathematik
Mathews
Mathewson
Mathias
Mathieu
Matilda
matinal
matinee
matins
Matisse
matriarch
matriarchal
matrices
matriculate
matrimonial
matrimony
matrix
matroid
matron
Matson
Matsumoto
matte
Matthew
Matthews
mattock
mattress
Mattson
maturate
mature
maudlin
maul
Maureen
Maurice
Mauricio
Maurine
Mauritania
Mauritius
mausoleum
mauve
maverick
Mavis
maw
mawkish
Mawr
Max
max
maxim
maxima
maximal
Maximilian
maximum
Maxine
maxwell
Maxwellian
may
Maya
mayapple
maybe
Mayer
Mayfair
Mayflower
mayhem
Maynard
Mayo
mayonnaise
mayor
mayoral
mayst
Mazda
maze
mazurka
MBA
Mbabane
McAdams
McAllister
McBride
McCabe
McCall
McCallum
McCann
McCarthy
McCarty
McCauley
McClain
McClellan
McClure
McCluskey
McConnel
McConnell
migrant
migrate
migratory
Miguel
mike
mila
Milan
milch
mild
mildew
Mildred
mile
mileage
Miles
milestone
milieu
militant
militarism
militarist
military
militate
militia
militiamen
milk
milkweed
milky
mill
Millard
millenarian
millenia
millennia
millennium
miller
millet
Millie
Millikan
millinery
million
millionaire
millions
millionth
millipede
Mills
millstone
milord
milt
Milton
Miltonic
Milwaukee
mimeograph
mimesis
mimetic
Mimi
mimic
mimicked
mimicking
min
minaret
mince
mincemeat
mind
Mindanao
mindful
mine
minefield
mineral
mineralogy
Minerva
minestrone
minesweeper
mingle
mini
miniature
minibike
minicomputer
minim
minima
minimal
minimax
minimum
minion
ministerial
ministry
mink
Minneapolis
Minnesota
Minnie
minnow
Minoan
minor
Minos
minot
Minsk
Minsky
minstrel
minstrelsy
mint
minuend
minuet
minus
minuscule
minute
minuteman
minutemen
minutiae
Miocene
Mira
miracle
Pershing
Persia
Persian
persiflage
persimmon
persist
persistent
person
persona
personage
personal
personify
personnel
perspective
perspicacious
perspicuity
perspicuous
perspiration
perspire
persuade
persuasion
persuasive
pert
pertain
Perth
pertinacious
pertinent
perturb
perturbate
perturbation
Peru
perusal
peruse
Peruvian
pervade
pervasion
pervasive
perverse
perversion
pervert
pessimal
pessimism
pessimist
pessimum
pest
peste
pesticide
pestilent
pestilential
pestle
pet
petal
Pete
Petersburg
Petersen
Peterson
petit
petite
petition
petrel
petri
petrifaction
petrify
petrochemical
petroglyph
petrol
petroleum
petrology
petticoat
petty
petulant
petunia
sailor
saint
sainthood
sake
Sal
Salaam
salacious
salad
salamander
salami
salaried
salary
sale
Salem
Salerno
salesgirl
Salesian
saleslady
salesman
salesmen
salesperson
salient
Salina
saline
Salisbury
Salish
saliva
salivary
salivate
Salk
Salle
sallow
sally
salmon
salmonberry
salmonella
salon
saloon
saloonkeep
saloonkeeper
salsify
salt
saltbush
saltwater
salty
salubrious
salutary
salutation
salute
Salvador
salvage
salvageable
salvation
Salvatore
salve
salvo
Sam
samarium
samba
same
Sammy
Samoa
samovar
sample
Sampson
Samson
Samuel
Samuelson
San
Sana
sanatoria
sanatorium
toddle
toe
TOEFL
toenail
toffee
tofu
tog
together
togging
toggle
Togo
togs
toil
toilet
toiletry
toilsome
tokamak
token
Tokyo
told
Toledo
tolerable
tolerant
tolerate
toll
tollgate
tollhouse
Tolstoy
toluene
Tom
tomato
tomatoes
tomb
tombstone
tome
Tomlinson
Tommie
tommy
tomograph
tomography
tomorrow
Tompkins
ton
tonal
tone
tong
tongue
Toni
tonic
tonight
tonk
tonnage
tonsil
tonsillitis
tony
too
toodle
took
tool
toolkit
toolmake
toolsmith
toot
tooth
toothbrush
toothpaste
toothpick
tootle
top
topaz
topcoat
Topeka
topgallant
topic
topmost
topnotch
topocentric
topography
topologize
topology
topple
topsoil
Topsy
tor
Torah
torah
torch
tore
tori
torn
tornado
toroid
toroidal
Toronto
torpedo
torpid
torpor
torque
torr
Torrance
torrent
torrid
torsion
torso
tort
tortoise
tortoiseshell
tortuous
torture
torus
tory
Toshiba
toss
tot
total
totalitarian
tote
totem
totemic
touch
touchdown
touchstone
touchy
tough
tour
tournament
tousle
tout
tow
toward
towboat
towel
tower
towhead
towhee
town
townhouse
Townsend
townsman
townsmen
toxic
toxicology
toxin
toy
Verona
Veronica
versa
Versailles
versatec
versatile
verse
version
versus
vertebra
vertebrae
vertebral
vertebrate
vertex
vertical
vertices
vertigo
verve
very
vesicular
vesper
vessel
vest
vestal
vestibule
vestige
vestigial
vestry
vet
vetch
veteran
veterinarian
veterinary
veto
vex
vexation
vexatious
VHF
vi
via
viaduct
vial
vibrant
vibrate
vibrato
viburnum
vicar
vicarious
vice
viceroy
Vichy
vicinal
vicinity
vicious
vicissitude
Vicksburg
Vicky
victim
victor
Victoria
Victorian
victorious
victory
victrola
victual
Vida
vide
video
videotape
vie
Vienna
Viennese
Vientiane
Viet
Vietnam
Vietnamese
view
viewpoint
vigil
vigilant
vigilante
vigilantism
vignette
vigorous
vii
viii
Viking
vile
vilify
villa
village
villain
villainous
villein
Vincent
vindicate
vindictive
vine
vinegar
vineyard
Vinson
vintage
vintner
vinyl
viola
violate
violent
violet
CS656 LAB 1.1: Brute-force Attack using the OpenSSL Library
1/3
CS 656 LAB 1.1
Brute-force Attack using the OpenSSL Library
Notes:
• This is an individual lab.
• The code and other answers you submit MUST be entirely
your own work, and you
are bound by the WSU Academic Integrity Policy
(https://www.wichita.edu/
about/student_conduct/ai.php). You MAY consult with other
students about the
conceptualization of the tasks and the meaning of the questions,
but you MUST NOT look at
any part of someone else’s solution or collaborate with anyone.
You may consult published
references, provided that you appropriately cite them in your
reports and programs, as you
would do in an academic paper.
• Read the entire document carefully before you start working
on the lab.
GOOD LUCK!
1 Overview
The learning objective of this lab is to get familiar with the
concepts in the symmetric and learn how to
program using the OpenSSL crypto library.
Lab Environment. This lab has been tested on Ubuntu 20.04.
You will be given access to the remote
Ubuntu environment with necessary packages installed. You
may also run your own virtual machine by
downloading it from the SEED labs website (see the details
here: https://github.com/
seed-labs/seed-labs/blob/master/manuals/vm/seedvm-
manual.md).
2 Submission
Submit a PDF document with your answers to the questions in
this lab. Your report should have a subheading
for each question, and your answers should be inside the
corresponding subheading. If applicable, list the
important code snippets followed by explanation. Simply
attaching code without any explanation will not
receive credits.
Note: Your report must contain your Name (Lastname,
Firstname) and WSU ID. Use the following
format for your report’s PDF filename: lab1 1 report YOUR
WSU ID.pdf. For example, if your ID is
C656S656, your report should be lab1 1 report c656s656.pdf.
Use the following filename format
for your program: lab1 1 YOUR WSU ID.<extension>. For
example, if you use C and your WSU
ID is C656S656, your source file would be lab1 1 c656s656.c.
There is a 10% reduction of points if
your report/submissions file do not follow the correct filename
format and/or missing name/ID inside the
document.
3 Lab Task: Brute-force Attack using the Crypto Library
In this lab, you are given a plaintext and a ciphertext, and your
job is to find the key that is used for the
encryption. You do know the following facts:
CS656 LAB 1.1: Brute-force Attack using the OpenSSL Library
2/3
• The aes-128-cbc cipher is used for the encryption.
• The key used to encrypt this plaintext is an English word
shorter than 16 characters; the word can be
found from a typical English dictionary. Since the word has less
than 16 characters (i.e. 128 bits),
pound signs (#: hexadecimal value is 0x23) are appended to the
end of the word to form a key of
128 bits.
Your goal is to write a program to find out the encryption key.
You are given the following files:
plaintext.txt ciphertext.txt iv.txt wordlist.txt
Notes:
• In this task, you are supposed to write your own program to
invoke the crypto library. No credit will
be given if you simply use the openssl commands to do this
task. Sample code can be found from
the following URL:
• When you compile your code using gcc, do not forget to
include the -lcrypto flag, because your
code needs the crypto library. See the following example for the
code filename bfattack.c:
$ gcc -o bfattack bfattack.c -lcrypto
• You can use the starter C file from Lab 1 (i.e., task4 starter
bfattack.c)
• You are allowed to use any programming language to complete
this task.
Deliverable. In your report perform the following actions and
answer the questions. Clearly mark question
numbers.
1. Draw a flowchart of the solution. [20 Points]
2. Present an algorithmic workflow of your solution. The
algorithm must be aligned with the flowchart
you developed in Step 1. Include comments in your algorithm
that clearly marks each of the steps.
Note: directly borrowed pseudocode from the class lecture will
note receive any points. [40 Points]
3. How many search operations you need in the worst-case to
find the key? Justify your answer with the
flowchart and algorithms you developed in the earlier steps. [20
Points]
4. Include (a) your code, (b) brief explanation of your
implementation, and (c) the secret key that you
found. [10 Points]
5. Show a screenshot of your terminal output showing the
command to run the code as well as the key
your found. [5 Points]
6. Submit the code file with correct filename format. To receive
full credit, both your report and code
file must be submitted. [5 Points]
CS656 LAB 1.1: Brute-force Attack using the OpenSSL Library
3/3
This document is adopted from Dr. Sergio Salinas Monroy and
origninally based on the SEED Labs
developed by Dr. Wenliang Du. The contents of this document
are licensed under a Creative Commons
Attribution-NonCommercial-ShareAlike 4.0 International
License. A human-readable summary of (and not
a substitute for) the license is the following: You are free to
copy and redistribute the material in any medium
or format. You must give appropriate credit. If you remix,
transform, or build upon the material, you
must distribute your contributions under the same license as the
original. You may not use the material
for commercial purposes.
OverviewSubmissionLab Task: Brute-force Attack using the
Crypto Library