Skip to content

Instantly share code, notes, and snippets.

@ScratchyCode
ScratchyCode / keyHill.c
Last active June 24, 2023 10:17
Ricerca chiavi cifrario di Hill
// Coded by Pietro Squilla
// Semplifica l'uso del cifrario di Hill con carta e penna ricercando matrici con det = +-1;
// osservazione: se la matrice ha determinante 1 o -1 la sua inversa conterrà numeri interi
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
// grandezza alfabeto -> modulo base = MASSIMO + 1
#define MINIMO 0
@ScratchyCode
ScratchyCode / Hill.py
Last active January 30, 2023 02:13
Script utili per applicare il cifrario di Hill con carta e penna
# Coded by Scratchy
# inserisci i coefficienti di una matrice chiave e gli elementi di n vettori da moltiplicare modularmente
import numpy as np
n = int(input("Inserisci la dimensione della matrice quadrata: "))
modulo = int(input("Inserisci il modulo di base (elementi dell'alfabeto): ")) # consigliato: 26 + 3
matrice = np.zeros((n,n))
# input dei coefficienti della matrice
for i in range(n):
@ScratchyCode
ScratchyCode / realRand.c
Created January 2, 2023 13:27
Generatore di numeri non pseudo-casuali
// Coded by ScratchyCode
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <signal.h>
long long int contatore = 0;
void stampa(int segnale);
@ScratchyCode
ScratchyCode / Vigenere.c
Created December 28, 2022 12:25
Il cifrario Vigenere diventa un cifrario perfetto con opportuni vincoli sulla chiave, quelli del cifrario Vernam. I crittogrammi prodotti possono essere decifrati anche con il disco di Leon Battista Alberti che usa l'alfabeto latino esteso.
/*
Coded by ScratchyCode;
Vigenere = Vernam se:
- chiave lunga quanto il testo in chiaro
- chiave con lettere casuali
- chiave one time pad
*/
#include <stdio.h>
#include <stdlib.h>
@ScratchyCode
ScratchyCode / AEString.sh
Last active December 7, 2022 17:15
Cifra e/o decifra agilmente un messaggio con AES in modalità CBC
#!/bin/bash
# cattura CTRL+Z
trap '' SIGTSTP
# display messaggio e metti in pausa
pause(){
local m="$@"
echo "$m"
read -p "Premi [INVIO] per continuare..." key
@ScratchyCode
ScratchyCode / Anagram.c
Created November 24, 2022 20:04
Cifrario a permutazioni pseudocasuali
// Coded by ScratchyCode
// Cifrario a permutazioni pseudocasuali in stile CR4
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <stdbool.h>
#define LIM 10000
@ScratchyCode
ScratchyCode / cPlot.c
Last active September 28, 2022 22:21
Plotting complex functions. To launch run in terminal: bash start.sh
// Coded by Scratchy
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <complex.h>
#include <tgmath.h>
//#define EPSILON 0.0001
void polari(long double a, long double b, long double *rho, long double *theta);
@ScratchyCode
ScratchyCode / smurf.py
Created September 28, 2022 22:15
Script for multithreading smurf attack
from scapy.all import *
import random
import threading
import signal
import sys
def address_spoofer():
addr = [192,168,178,1]
dot = '.'
addr[0] = str(random.randrange(11,197))
@ScratchyCode
ScratchyCode / nepero_sequenziale.py
Created June 1, 2022 11:05
Stima la costante di Nepero generando numeri casuali
import random
MIN = 0
MAX = 1
#lanci = int(input("Numero di lanci: "))
lanci = 10000000
if(lanci <= 0):
print("Uscita...")
quit()
// Coded by Scratchy
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void scadenzaCheck(void);
int main(void){
scadenzaCheck();