Merge remote-tracking branch 'origin/master'

This commit is contained in:
Andrew Onuchowski 2022-12-21 16:53:00 +01:00
commit 2a229ff1c8
2 changed files with 9 additions and 19 deletions

View File

@ -4,11 +4,14 @@ use crypto_box::{
}; };
use std::io::Write; use std::io::Write;
use std::net::TcpStream; use std::net::TcpStream;
use crate::message::*;
mod message;
fn main() { fn main() {
let port: u32 = 7878; // Port Server // Server Port
//let stream = TcpStream::connect("172.30.16.1:8080"); let port: u32 = 7878;
//let stream = TcpStream::connect("27.0.0.1:8080");
match TcpStream::connect(format!("localhost:{}", port)) { match TcpStream::connect(format!("localhost:{}", port)) {
Ok(mut stream) => { Ok(mut stream) => {
println!("Successfully connected to server"); println!("Successfully connected to server");
@ -49,6 +52,7 @@ fn main() {
// Encrypt the message using the box // Encrypt the message using the box
let ciphertext = salsa_box.encrypt(&nonce, &plaintext[..]).expect("Fehler"); let ciphertext = salsa_box.encrypt(&nonce, &plaintext[..]).expect("Fehler");
let message = Message::new(0,0,4, PayloadType::Msg);
println!("Sending {0} as {1:?}", buffer.trim(), plaintext); println!("Sending {0} as {1:?}", buffer.trim(), plaintext);
stream.write(buffer.as_bytes()).unwrap(); stream.write(buffer.as_bytes()).unwrap();
@ -82,17 +86,3 @@ fn main() {
} }
println!("Terminated."); println!("Terminated.");
} }
fn generate_box(partner_public_key: PublicKey) -> (SalsaBox, PublicKey) {
// Generate a random secret key.
// NOTE: The secret key bytes can be accessed by calling `secret_key.as_bytes()`
let own_secret_key = SecretKey::generate(&mut OsRng);
// Get the public key for the secret key we just generated
let own_public_key = own_secret_key.public_key().clone();
// Create a `SalsaBox` by performing Diffie-Hellman key agreement between
// the two keys.
let salsa_box = SalsaBox::new(&partner_public_key, &own_secret_key);
(salsa_box, own_public_key)
}

View File

@ -35,7 +35,7 @@ pub struct Message {
} }
impl Message { impl Message {
fn new(src_id: u32, dest_id: u32, size: u16, msg_type: PayloadType) -> Message { pub fn new(src_id: u32, dest_id: u32, size: u16, msg_type: PayloadType) -> Message {
let mut msg = Message { let mut msg = Message {
src_id: src_id, src_id: src_id,
dest_id: dest_id, dest_id: dest_id,
@ -66,7 +66,7 @@ impl Message {
vec vec
} }
fn recive(stream: TcpStream) -> Message { fn receive(stream: TcpStream) -> Message {
let buffreader = BufReader::new(stream); let buffreader = BufReader::new(stream);
let mut byte_iterator = buffreader.bytes(); let mut byte_iterator = buffreader.bytes();
let byte1 = byte_iterator.next().unwrap().unwrap(); let byte1 = byte_iterator.next().unwrap().unwrap();