# Create Polybius matrix
Polybius<-matrix(nrow=4,ncol=10)

colnames(Polybius)<-c("0","1","2","3","4","5","6","7","8","9")

rownames(Polybius)<-c("0","1","2","3")

# Insert value into Polybius
Polybius[1,1]<-NA
Polybius[1,2:4]<-c("Z","M","D")
Polybius[1,5]<-NA
Polybius[1,6:8]<-c("K","W","Q")
Polybius[1,9]<-NA
Polybius[1,10]<-c("G")
Polybius[2,1]<-c("V")
Polybius[2,2]<-NA
Polybius[2,3]<-c("A")
Polybius[2,4]<-NA
Polybius[2,5]<-c("R")
Polybius[2,6]<-NA
Polybius[2,7]<-c("E")
Polybius[2,8]<-NA
Polybius[2,9:10]<-c("T","O")
Polybius[3,1]<-NA
Polybius[3,2:7]<-c("J","I","S","B","P","Y")
Polybius[3,8]<-NA
Polybius[3,9]<-c("F")
Polybius[3,10]<-NA
Polybius[4,1]<-c("L")
Polybius[4,2:3]<-NA
Polybius[4,4]<-c("C")
Polybius[4,5]<-NA
Polybius[4,6:8]<-c("U","H","N")
Polybius[4,9]<-NA
Polybius[4,10]<-c("X")

# Display Polybius
Polybius


Message<-c("CAPTURETHEHILL")

x<-NULL
y<-NULL
code<-NULL
a<-NULL
b<-NULL
ciphertext<-NULL

for (i in 1:nchar(Message)){
x[i]<-substring("CAPTURETHEHILL",i,i)

y[i]<-which(x[i]==t(Polybius))

code[i]<-c(y[i]-1)
    
a[i]<-substring(code[i],1,1)
b[i]<-substring(code[i],2,2)
    
ciphertext<-c(ciphertext,a[i],b[i])
}

r=0:9
ifelse(length(ciphertext)%/%5==0,ciphertext<-ciphertext,ciphertext<-c(ciphertext,sample(r,5-length(ciphertext)%%5,replace=T)))

#Display ciphertext
ciphertext


finaltext<-NULL
for (j in 1:length(ciphertext)%/%5){
    finaltext[j]<-paste(ciphertext[(j*5-4):(j*5)],collapse="")
}


finaltext<-paste(finaltext,collapse=" ")

#Display finaltext
finaltext


