Momentan hat mein Professor eine Gruppenaufgabe gestellt, die es erfordert, Werte aus einem simulierten EKG-Scan zu nehmen und sie auf 8-Bit-Werte zu quantisieren. Von dort sollen wir die 8-Bit-Werte nehmen und sie durch einen Rucksack-Verschlüsselungsalgorithmus laufen lassen.Begrenzung der Ausgabe des Rucksackalgorithmus auf die angegebene Bitgröße
Ich habe kein Problem mit der Codierung, sondern eher eine Frage des Knapsacks selbst.
Wir verwenden einen Super-aufsteigenden Schlüssel, um unseren allgemeinen Schlüssel zu erstellen. Wir sollen die SIK-, m- und n-Werte berechnen. In diesem Fall wählte ich {1, 2, 5, 9, 22, 43, 118, 207} zu meinem SIK, da wir nur 8 Bits verwenden. Auch mein n = 19 und mein m = 511 (d. H. 19 * (was auch immer) mod511).
Dies erzeugt die resultierende Allgemeine Knapsack: {19, 38, 95, 171, 418, 306, 198, 356}
Das Problem kommt, wenn ich einen Wert verschlüsseln. Angenommen, ich verschlüssele etwas wie 10010111 Der resultierende Wert wäre 1050 (in Dezimal). Es wäre ein Problem, diesen Wert in meinen Quantizer zurückzusetzen, wenn man bedenkt, dass Dezimalwerte in 8-Bit-Binärwerte umgewandelt werden, was eine 10-Bit-Zahl ergibt.
Also spielte ich mit den Werten herum, änderte die SIK auf die kleinsten möglichen Werte und verschiedene Variationen von m und n, und trotzdem erhalte ich verschlüsselte Werte, die größer als 8 Bits sind.
Im Wesentlichen meine Frage ist das: Gibt es einen Wert für m und n, die ich verwenden könnte, die Werte im gewünschten Bitbereich (8 Bits) generieren würde, oder ist es mathematisch unmöglich? Der Professor sagte, er sei sich nicht sicher, ob es möglich sei, aber er dachte, es wäre so.
Ich könnte den Quantizer konvertieren, um größere Mengen von Bits zu nehmen, aber war nur neugierig zu sehen, ob das, was er fragte, sogar möglich war.