Executando verificação de segurança...
15

[PITCH] CryptoHarmony: Criptografia baseada nas escalas musicais

Olá pessoal, recentemente venho estudado python para cyber e crypto, e uma das ideias que tive para aprimorar minhas habilidades foi criar uma criptografia que se baseia nas escalas musicais como:

Escalas

escalas_expandidas = {
    "C": [
        "C", "C#", "D", "D#", "E", "F", "F#", 
        "G", "G#", "A", "A#", "B", "C2", "C#2",
        "D2", "D#2", "E2", "F2", "F#2", "G2", 
        "G#2", "A2", "A#2", "B2", "C3", "C#3"
    ],
    "D": [
        "D", "D#", "E", "F", "F#", "G", "G#", 
        "A", "A#", "B", "C", "C#", "D2", "D#2",
        "E2", "F2", "F#2", "G2", "G#2", "A2", 
        "A#2", "B2", "C2", "C#2", "D3", "D#3"
    ],
    "E": [
        "E", "F", "F#", "G", "G#", "A", "A#", 
        "B", "C", "C#", "D", "D#", "E2", "F2",
        "F#2", "G2", "G#2", "A2", "A#2", "B2", 
        "C2", "C#2", "D2", "D#2", "E3", "F3"
    ],
    "F": [
        "F", "F#", "G", "G#", "A", "A#", "B", 
        "C", "C#", "D", "D#", "E", "F2", "F#2",
        "G2", "G#2", "A2", "A#2", "B2", "C2", 
        "C#2", "D2", "D#2", "E2", "F3", "F#3"
    ],
    "G": [
        "G", "G#", "A", "A#", "B", "C", "C#", 
        "D", "D#", "E", "F", "F#", "G2", "G#2",
        "A2", "A#2", "B2", "C2", "C#2", "D2", 
        "D#2", "E2", "F2", "F#2", "G3", "G#3"
    ],
    "A": [
        "A", "A#", "B", "C", "C#", "D", "D#", 
        "E", "F", "F#", "G", "G#", "A2", "A#2",
        "B2", "C2", "C#2", "D2", "D#2", "E2", 
        "F2", "F#2", "G2", "G#2", "A3", "A#3"
    ],
    "B": [
        "B", "C", "C#", "D", "D#", "E", "F", 
        "F#", "G", "G#", "A", "A#", "B2", "C2",
        "C#2", "D2", "D#2", "E2", "F2", "F#2", 
        "G2", "G#2", "A2", "A#2", "B3", "C3"
    ]
}

Função que gera uma lista de escalas para cada caractere do texto, repetindo a senha tonal

def gerar_chaves_tonal(texto, senha):
    ## Para cada caractere do texto, associa uma letra da senha (maiuscula)
    return [senha[i % len(senha)].upper() for i in range(len(texto))]


Função que criptografa o texto usando a senha tonal

def criptografar(texto, senha_tonal):
    texto = texto.lower()  # Converte texto para minúsculas para padronizar
    chaves_tonal = gerar_chaves_tonal(texto, senha_tonal)  # Gera as escalas para cada caractere
    resultado = []

Para cada letra do texto junto com sua escala correspondente...

    for letra, escala_nome in zip(texto, chaves_tonal):
        if letra in alfabeto:  # Se for uma letra do alfabeto
            escala = escalas_expandidas[escala_nome]  ## Pega a escala referente à letra da senha
            indice_letra = alfabeto.index(letra)  ## Pega o índice da letra no alfabeto (0-25)
            nota = escala[indice_letra]  ## Mapeia a letra para a nota correspondente na escala
            resultado.append(nota)  ## Adiciona a nota cifrada ao resultado
        else:
            ## Se não for letra (espaço, pontuação), mantém como está no resultado
            resultado.append(letra)
    return resultado

Função que descriptografa a lista de notas usando a senha tonal

def descriptografar(notas, senha_tonal):
    resultado = []
    # Cria lista só com as notas musicais para gerar as escalas corretas
    notas_musicais = [n for n in notas if n in sum(escalas_expandidas.values(), [])]
    chaves_tonal = gerar_chaves_tonal(notas_musicais, senha_tonal)
    
    idx = 0  ## Índice para iterar nas chaves tonais só das notas
    for nota in notas:
        if nota in sum(escalas_expandidas.values(), []):  # Se for nota musical
            escala_nome = chaves_tonal[idx]  # Escala da nota atual
            escala = escalas_expandidas[escala_nome]
            indice_nota = escala.index(nota)  # Índice da nota na escala
            letra = alfabeto[indice_nota]  # Mapeia a nota para letra do alfabeto
            resultado.append(letra)  # Adiciona letra decifrada ao resultado
            idx += 1
        else:
            ## Se não for nota musical (espaço, pontuação), mantém no resultado
            resultado.append(nota)
    return "".join(resultado)  # Junta tudo numa string

Teste interativo

texto_original = input("Texto para criptografar: ")
senha = input("Senha tonal (ex: CDFG): ")
criptografado = criptografar(texto_original, senha)
print("\n Texto criptografado em notas:", " ".join(criptografado))

decifrado = descriptografar(criptografado, senha)
print("\n Texto descriptografado:", decifrado)

Este foi um projetinho básico feito em uma noite, não é uma criptografia avançada mas me ajudou a melhorar, se alguem tiver alguma dica de como melhora-la, ficarei grato!
Obrigado pro ler até aqui
E pra caso não nos vermos mais
Bom dia, Boa tarde e boa noite.

Carregando publicação patrocinada...
5

Show de bola!!

Pouca gente sabe mas o principal conceito de segurança em transmissões de rádio, foi diretamente inspirado na música... Senta que lá vem historia...

Em 1942, quando o mundo estava em guerra, uma improvável dupla registrou uma patente que mudaria para sempre a telecomunicação. De um lado, Hedy Lamarr, atriz austríaca conhecida como "a mulher mais bela do mundo" em Hollywood. Do outro, George Antheil, compositor vanguardista americano famoso por suas composições experimentais com pianos mecânicos.

A genialidade da dupla estava na aplicação da teoria musical à tecnologia militar. Preocupados com os torpedos aliados sendo interceptados pelos alemães, Lamarr e Antheil desenvolveram o conceito do "salto de frequência" - uma técnica onde transmissor e receptor pulam sincronizadamente entre diferentes frequências de rádio, tornando praticamente impossível interceptar ou bloquear o sinal.

A inspiração veio diretamente da música: eles usaram rolos de pianola para controlar as mudanças de frequência, utilizando exatamente 88 frequências - uma para cada tecla de um piano, os equipamentos simplemente precisavam seguir a mesma partitura para se escutarem.

Embora a tecnologia não tenha sido usada durante a Segunda Guerra Mundial, o conceito de salto de frequência tornou-se fundamental para as comunicações modernas. Hoje, essa invenção é a base de redes cellular, Wi-Fi, Bluetooth e quase todo o resto.

A história prova que a inovação pode vir dos lugares mais inesperados - e que a arte e a ciência, quando se encontram, mudam o mundo.

3
1