Computer scientists develop mathematical jigsaw puzzles to encrypt software