Jump to content




SecureModem


  • You cannot reply to this topic
28 replies to this topic

#21 RoD

  • Members
  • 313 posts

Posted 15 May 2014 - 04:44 PM

I may give a try at originalbit's code. It seems pretty safe to use in wireless comunication :)

#22 hbomb79

  • Members
  • 352 posts
  • LocationOrewa, New Zealand

Posted 12 June 2014 - 10:50 PM

How do you intercept/log rednet messages if they are only being sent to a certain PC ID and if the PC your sending it to only read messages from the correct id, that how my system work, the main PC send messages to id 6 and it sees if the message came from id 2 if it did I allows it through other wise, it won't and will throw up an error telling me what I said, what protocol it had and where it came from...

#23 Anavrins

  • Members
  • 775 posts

Posted 12 June 2014 - 11:30 PM

You can open all 65535 channels by having a setup of multiple computers with 5 modems on them, connected to a "master" computer via wired modem.
I have a pair of programs that does just that, so this channel hopping strategy is kinda pointless.

Your best bet if to use encryption (There's AES by KillaVanilla)

#24 theoriginalbit

    Semi-Professional ComputerCrafter

  • Moderators
  • 7,332 posts
  • LocationAustralia

Posted 13 June 2014 - 12:53 AM

 Hbomb_79, on 12 June 2014 - 10:50 PM, said:

How do you intercept/log rednet messages if they are only being sent to a certain PC ID and if the PC your sending it to only read messages from the correct id, that how my system work, the main PC send messages to id 6 and it sees if the message came from id 2 if it did I allows it through other wise, it won't and will throw up an error telling me what I said, what protocol it had and where it came from...
In the latest ComputerCraft there is no direct messaging anymore, messages are sent on channels, so if you have the channel open you can hear the message, as such the channels that rednet open are the ID of the computer. As such it means any computer can easily spoof the ID they've come from and negate your validation.

#25 RoD

  • Members
  • 313 posts

Posted 13 June 2014 - 12:52 PM

FlagHacker gave my a really good tip:
Encryption uses keys. This key needs to be the same in the other computer. But like that the hacker can send the encrypted message and the other computer will think that it was an authentic message and will do the normal procedure. However, if this key is a random number (not really random but alaways changing) you can encrypt messages and they will work only once. this can be achieved using os.getTime() and os.day(). You use these as keys and they only work once. BTW: you may want to change the length of the os.getTime() because is so fast that the key will be diferent (os.getTime() includes milliseconds).

#26 theoriginalbit

    Semi-Professional ComputerCrafter

  • Moderators
  • 7,332 posts
  • LocationAustralia

Posted 13 June 2014 - 01:03 PM

 RoD, on 13 June 2014 - 12:52 PM, said:

FlagHacker gave my a really good tip:
Encryption uses keys. This key needs to be the same in the other computer. But like that the hacker can send the encrypted message and the other computer will think that it was an authentic message and will do the normal procedure. However, if this key is a random number (not really random but alaways changing) you can encrypt messages and they will work only once. this can be achieved using os.getTime() and os.day(). You use these as keys and they only work once. BTW: you may want to change the length of the os.getTime() because is so fast that the key will be diferent (os.getTime() includes milliseconds).
but then you cannot decrypt it. this is a very silly method of encryption, just look into asymmetric keys.

#27 RoD

  • Members
  • 313 posts

Posted 13 June 2014 - 02:43 PM

 theoriginalbit, on 13 June 2014 - 01:03 PM, said:

 RoD, on 13 June 2014 - 12:52 PM, said:

FlagHacker gave my a really good tip:
Encryption uses keys. This key needs to be the same in the other computer. But like that the hacker can send the encrypted message and the other computer will think that it was an authentic message and will do the normal procedure. However, if this key is a random number (not really random but alaways changing) you can encrypt messages and they will work only once. this can be achieved using os.getTime() and os.day(). You use these as keys and they only work once. BTW: you may want to change the length of the os.getTime() because is so fast that the key will be diferent (os.getTime() includes milliseconds).
but then you cannot decrypt it. this is a very silly method of encryption, just look into asymmetric keys.
As i said, the other computer will decrypt using the same key (the key is the time and if the message is sent right after being encrypted, it will send encrypted to the other computer, then this computer can decrypt using the time)

#28 theoriginalbit

    Semi-Professional ComputerCrafter

  • Moderators
  • 7,332 posts
  • LocationAustralia

Posted 13 June 2014 - 03:22 PM

 RoD, on 13 June 2014 - 02:43 PM, said:

As i said, the other computer will decrypt using the same key (the key is the time and if the message is sent right after being encrypted, it will send encrypted to the other computer, then this computer can decrypt using the time)
and if the send/receive time isn't the same? i.e. it has gone through several repeating computers? this is why asymmetric keys are better, they're not dependent on anything changeable, they're static (well static-ish).

#29 RoD

  • Members
  • 313 posts

Posted 13 June 2014 - 03:53 PM

the send/receive time is the same, the encryption time isnt, but just by a few miliseconds (thats why i use string.sub() to remove the last 3 digits of the os.getTime()) in the case of repeating trough various computers, you can decrypt the mssage and encrypt with the new time.





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users